Сборка для работы с библиотекой awayjs
Я достаточно недавно стал разбираться с workflow javascript проектов поэтому возможно мой вопрос касается не столько непосредственно библиотеки awayjs сколько общего понимания импорта модулей и согласования зависимостей.
Итак, я смог настроить стандартный workflow проекта на простейшем greeter примере. Этот пример работает не с чистым javascript, а с typescript. Сначала код компилируется в javascript и на втором этапе собирается итоговая сборка, включающая в себя преобразования типа browserify, sourcemaps и прочее. Для подключения библиотеки awayjs я инсталировал ее в локальный репозиторий, используя npm Код:
npm install awayjs-full --save-dev
import * as awayjs from "awayjs-full";
class Away3D {
// engine variables
private _view: awayjs.View;
// private cameraController: awayjs.HoverController;
constructor() {
this.init();
}
private init(): void {
console.log("Init Away3D");
this.initEngine();
};
private initEngine(): void {
console.log("Init Engine");
this._view = new awayjs.View(new awayjs.DefaultRenderer());
}
};
window.onload = function () {
new Away3D();
};
Проблема в том что после компиляции итогового javascript кода, сам javascript уже этубиблиотеку не видит и соответсвенно не может завернуть ее классы в итоговый .js. gulp таск который заворачивал до этого greeter не может импортировать библиотеку и ругается на require("awayjs-full"). Я не понимаю что делать дальше. Насколько я понял в исходном примере с greeter работая с дополнительными библиотеками типа jquery они подтягивались не из node js репозитория а откуда то еще, в частности я работал с typings, при сборке bundle я давал ссылку на tsd.d.ts этого репозитория вместе с исходниками typescript, в файле были ссылки на интерфейсы jquery, chai и jasmine в формате typescript. Но я не совсем понимаю пока какое они имели отношения к итоговым библиотекам на .js. Тем не менее greeter собирался и работал и с jquery и c jasmine тестами. Правильно ли я понимаю что проблема в этом или есть что-то еще? В репозитории typings awayjs библиотеки пока нет, она исключительно в npm. У самой библиотеки все исходники открыты и лицензия позволяет свободно использовать ее в проектах. при инсталяции в node_packages она грузится в том числе со своими галп тасками, но я не понимаю как в итоге всем этим пользоваться. |
| Часовой пояс GMT +3, время: 09:08. |