使用 gulp-typescript 设置 typescript 会导致多个错误
Setting up typescript using gulp-typescript results in multiple errors
你好,我正在尝试配置 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): error TS2307: Cannot find module 'angular2/platform/browser'.
App\template\template.component.ts(1,1): error TS1148: Cannot compile
modules unless the '--module' flag is provided with a valid module
type. Consider setting the 'module' compiler option in a
'tsconfig.json' file.
App\template\template.component.ts(1,25): error TS2307: Cannot find module 'angular2/core'. App\template\template.component.ts(8,14):
错误 TS1219:对装饰器的实验性支持是一项功能
可能会在未来的版本中发生变化。设置
'experimentalDecorators' 删除此警告的选项。
感觉好像它没有读取 tsconfig file.My 文件最终编译正确。
。有人知道我做错了什么吗?
尝试:
const tscConfig = require('./tsconfig.json').compilerOptions;
下面是 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 中排除不必要的文件总是比显式指定所有必需的文件更容易。
你好,我正在尝试配置 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): error TS2307: Cannot find module 'angular2/platform/browser'.
App\template\template.component.ts(1,1): error TS1148: Cannot compile modules unless the '--module' flag is provided with a valid module type. Consider setting the 'module' compiler option in a 'tsconfig.json' file.
App\template\template.component.ts(1,25): error TS2307: Cannot find module 'angular2/core'. App\template\template.component.ts(8,14):
错误 TS1219:对装饰器的实验性支持是一项功能 可能会在未来的版本中发生变化。设置 'experimentalDecorators' 删除此警告的选项。
感觉好像它没有读取 tsconfig file.My 文件最终编译正确。
。有人知道我做错了什么吗?
尝试:
const tscConfig = require('./tsconfig.json').compilerOptions;
下面是 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 中排除不必要的文件总是比显式指定所有必需的文件更容易。