您好我正在尝试配置gulp来编译我的打字稿文件到目前为止我是这样的:
const gulp = require('gulp');
const del = require('del');
const typescript = require('gulp-typescript');
const tscConfig = require('./tsconfig.json');
const util = require('gulp-util');
var paths = {
npmSrc: "./node_modules/",
libTarget: "./wwwroot/lib/",
appTarget: "./wwwroot/app/"
}
gulp.task('tsBuild', function () {
return gulp.src('App/**/*.ts')
.pipe(typescript(tscConfig))
.pipe(gulp.dest(paths.appTarget));
}
我的tsConfig看起来像这样:
{
"compilerOptions": {
"outDir": "./wwwroot/app/",
"target": "es5",
"module": "system",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
这是我收到的错误消息:
App \ bootstrap.ts(1,25):错误TS2307:找不到模块' angular2 / platform / browser'。
App \ template \ template.component.ts(1,1):错误TS1148:无法编译 模块,除非' - 模块' flag提供有效模块 类型。考虑设置'模块' a中的编译选项 ' tsconfig.json'文件。
App \ template \ template.component.ts(1,25):错误TS2307:找不到模块' angular2 / core'。应用\模板\ template.component.ts(8,14):
错误TS1219:对装饰器的实验支持是一个特征 可能会在将来的版本中发生变化。设置 ' experimentalDecorators'删除此警告的选项。
感觉好像没有读取tsconfig文件。我的文件最终会被正确编译。
。没有人知道我做错了什么?
答案 0 :(得分:1)
以下是gulp任务应该可以正常工作:
const typescript = require('gulp-typescript');
gulp.task('tsBuild', function ()
{
var tsProject = typescript.createProject('tsconfig.json');
var tsResult = tsProject.src()
.pipe(typescript(tsProject));
return tsResult.js.pipe(gulp.dest(paths.appTarget));
});
总是更容易在tsconfig中排除不必要的文件,而不是明确指定所有必需的文件。
答案 1 :(得分:0)
尝试:
const tscConfig = require('./tsconfig.json').compilerOptions;