【发布时间】:2015-12-30 00:38:30
【问题描述】:
目前我正在使用tsc 编译器和提示中的监视标志。它运行良好,加载所有定义文件并正确编译每个 angular2 文件。但是通过外壳窗口使用非常不舒服。
我的目标是创建一个 gulp 任务,它可以根据 angular2 定义翻译任何打字稿文件。我参与了gulp-typescript,看起来好用,所以代码如下:
var tsProject = $.typescript.createProject(paths.src + '/tsconfig.json');
gulp.task('typescript', function() {
gulp
.src([
paths.src + '/*.ts'
])
.pipe($.typescript(tsProject)).js
.pipe(gulp.dest(paths.tmp));
});
这是文件夹结构:
...
src/
---- app/
-------- ts/
------------ *.ts
---- typings/
-------- angular2/
------------ angular2.d.ts
------------ http.d.ts
-------- es6-promise/
------------ ...
-------- rx/
------------ ...
-------- tsd.d.ts
---- *.ts
---- tsconfig.json
gulpfile.js
...
tsconfig 文件没有files 列表,因此编译器应检查src 内的任何ts 文件(在任何级别)。
当任务被调用时,我收到这个错误:
error TS2307: Cannot find module 'angular2/angular2'.
error TS2307: Cannot find module 'angular2/http'.
如何告诉 typescript 编译器使用哪些 d.ts 文件?
【问题讨论】:
-
你有没有像
/// <amd-dependency path="typings/angular2/angular2.d.ts" />这样在你的文件中声明amd-references? -
看看这个项目,它可能有用:ng2-play.ts
标签: javascript typescript gulp ecmascript-6 angular