Из простого рабочего проекта Angular 2 + Webpack я пытаюсь интегрировать Apache Thrift, реализуя учебник Trrift. Я достигаю точки, где все работает, кроме браузера не может найти модуль бережливости:Как сделать бережливость для работы с Angular 2 и webpack?
Uncaught ReferenceError: Thrift is not defined
Ошибки брошенных из бережливости сгенерированных файлов, tutorial_types.js
, когда он пытается получить доступ к модулю бережливости:
InvalidOperation = function(args) {
this.whatOp = null;
this.why = null;
if (args) {
if (args.whatOp !== undefined && args.whatOp !== null) {
this.whatOp = args.whatOp;
}
if (args.why !== undefined && args.why !== null) {
this.why = args.why;
}
}
};
Thrift.inherits(InvalidOperation, Thrift.TException);
Угловая загрузка приложения, которое загружает сгенерированные файлы, которые пытаются загрузить Thrift и сбой.
Проект доступен здесь: https://github.com/osechet/angular-thrift
Чтобы проверить, запустите:
git clone https://github.com/osechet/angular-thrift
cd angular-thrift
npm install
npm gen.thrift
npm start
Затем откройте http://localhost:8080/ в браузере.
Я проверил файлы, созданные Webpack, и модуль бережливости в комплекте. Что мне не хватает?
Было бы полезно, если бы вы могли добавить часть кода, который выдает ошибку на ваш вопрос, - это много, чтобы попросить людей установить ваш проект и запустить его самостоятельно. –
@JoeClay Вы правы. Я добавил разъяснения по этому поводу. – osechet
Hm, делает ли Thrift фактически импортированный * в * сгенерированный файл? Если нет, то, вероятно, почему-то не удается. Вам нужно будет либо выяснить способ заставить Thrift генерировать файлы с помощью «var Thrift = require (« бережливость »):' вверху или импортировать его из одного из ваших файлов и присоединить его к глобальной среде (' window.Thrift'). –