非常熟悉Gulp和Angular,是TypeScript的新手。我一直在使用Browserify捆绑我的JavaScript并管理依赖树,但据我所知,我不想将Browserify与TypeScript一起使用。
在我的主/入口点文件中有这样的东西之前。
require('angular');
require('angular-ui-router');
require('./myModules/testModule')
require('./myControllers/mainController')
angular.module('exampleApp', ['mainController','testModule'])
.config(...);
}());
这样可以确保所有必要的文件以适当的顺序捆绑到最终的.js
应用中。
然而,使用TypeScript(使用gulp-typescript)引用其他文件进行构建的方式似乎是:
/// <reference path="myModule.ts"/>)
但这仅适用于其他TypeScript文件。如何加载我的angular
和其他非TS代表?
作为参考,我的构建如下:
var jsStream = function() {
return gulp.src(PUBLIC + '/js/**/*.ts')
.pipe(typescript({
declarationFiles: false,
sortOutput: true,
out: 'app.js'
}))
.pipe( streamify( rev() ) )
.pipe( gulp.dest( PATHS.dest.js ) );
};
答案 0 :(得分:2)
像/// <reference path="myModule.ts"/>
这样的TypeScript引用用于转换为JS,解析依赖关系,以及文本编辑器或IDE中的Intellisense。如果您希望在TypeScript中引用未使用TypeScript编写的现有库,请在GitHub上查看tsd和DefinitelyTyped project。
您仍然可以像以前一样使用Browserify进行捆绑。唯一的区别是您需要先通过tsc
或正如您提到的gulp-typescript
将TypeScript转换为JavaScript。将TS作为JS后,使用Browserify将其与其他文件捆绑在一起。我不知道这个插件是否有用,但似乎有一个名为tsify的TypeScript Browserify插件。也许也要检查一下。