Сборка для работы с библиотекой 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, время: 14:53. |