Я пытаюсь построить процесс, основанный на gulp, который будет использовать AngularJS из пакета bower и инструмент, называемый debowerify (который, я полагаю, должен позволить мне подключать установленные компоненты боковины к потоку TSIFY/Browserify) , По сути, я хочу создать файл app.js для использования в моем приложении (со всем необходимым JS). Я не могу за свою жизнь заставить AngularJS работать в этом процессе. Я использую файл index.ts (см. Ниже), чтобы использовать мои ссылки для браузера для работы. Это было сложно с угловым, поскольку библиотека оптимизирована процессом компиляции, если вы не используете импорт каким-то образом, следовательно, вызов модуля, который я тестировал в файле index.ts.Совместимость TSIFY с машинописным текстом AngularJS
index.ts
//#### Type Definitions ####
/// <reference path="../../typings/angularjs/angular.d.ts" />
/// <reference path="greeter.ts" />
import angular = require('angular');
import greeter = require('./Greeter');
var greet = new greeter();
greet.sayHello();
angular.module('app', []);
Вот мой глоток ОПРЕДЕЛЕНИЯ:
gulpfile.js
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var tsify = require('tsify');
var debowerify = require('debowerify');
var exorcist = require('exorcist');
var config = {
publicDir: __dirname + '/app',
path: __dirname + '/src/typescript',
main: 'index.ts',
result: 'app.js'
};
gulp.task('compile-ts', function(){
var bundler = browserify({
basedir: config.path,
debug: true
})
.add(config.path + '/' + config.main)
.plugin(tsify)
.transform(debowerify);
return bundler.bundle()
.pipe(exorcist(config.publicDir + '/app.js.map'))
.pipe(source(config.result))
.pipe(gulp.dest(config.publicDir));
});
Обычай TS файлов, которые я построил (т.е. greeter.ts) отлично работает. Однако, когда я запускаю задачу gulp compile-ts, я не получаю никаких ошибок в консоли только в браузере, когда он сообщает мне, что угловой неопределен (при вызове angular.module). У меня есть подозрения, что CommonJS может не поддерживаться для углового, но я также нашел информацию об interwebs, напротив. Я стараюсь избегать AMD, если это возможно, но если это мой единственный вариант, я бы, конечно, передумал. У меня это приложение работает, если я ссылаюсь на угловой скрипт в своем html, а не на попытку импортировать его в свой машинописный текст, но я просто не удовлетворен этим подходом, поскольку я знаю, что это должно работать.