Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 吞咽打字稿和打字稿';什么是新的@types打字?_Typescript_Typescript Typings_Gulp Typescript_Typescript2.0 - Fatal编程技术网

Typescript 吞咽打字稿和打字稿';什么是新的@types打字?

Typescript 吞咽打字稿和打字稿';什么是新的@types打字?,typescript,typescript-typings,gulp-typescript,typescript2.0,Typescript,Typescript Typings,Gulp Typescript,Typescript2.0,我已经安装了@types/jasmine作为一个附件 编译typescript的gulp任务如下所示: gulp.task('compile:tests', ['compile:typescript', 'clean:tests'], function () { var project = ts.createProject('tsconfig.json', { typescript: typescript }); var tsResult = gulp.src(['spec/*

我已经安装了
@types/jasmine
作为一个附件

编译typescript的gulp任务如下所示:

gulp.task('compile:tests', ['compile:typescript', 'clean:tests'], function () {
    var project = ts.createProject('tsconfig.json', { typescript: typescript });

    var tsResult = gulp.src(['spec/**/*spec.ts'])
        .pipe(ts(project));

    return tsResult.js
        .pipe(gulp.dest('spec/'));
});
还有我的tsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node"
    },
    "exclude": [
        "node_modules"
    ]
}
但这会导致错误:

spec\linter.spec.ts(7,1):错误TS2304:找不到名称“descripe”。
spec\linter.spec.ts(8,3):错误TS2304:找不到名称“it”。
spec\linter.spec.ts(17,5):错误TS2304:找不到名称“expect”。
spec\linter.spec.ts(20,3):错误TS2304:找不到名称“it”

如何让typescript(当gulp typescript使用时)识别
@types/…
打字?

更新: 最新版本修复了此问题:使用安装

npm安装gulp-typescript@3

预吞咽-typescript@3: 到目前为止,我的工作是手动包含所有@types类型,如下所示:

gulp.src(['spec/**/*spec.ts', "./node_modules/@types/**/*.d.ts"])
如果您有冲突的打字版本(这里看您的
@types/node@x
)然后您可以跳过它们以避免重复:

gulp.src([
  paths.source + '**/*.ts', 
  "node_modules/@types/**/index.d.ts", 
  "!node_modules/@types/**/node_modules/**/index.d.ts"])

您可以使用
project.src()
代替
gulp.src(['typings-glob','sources glob')

**出于某种原因,在我正在处理的项目中,使用
project.src()
时,透明需要大约3秒钟,因此我坚持使用
gulp.src
选项。

以下工作

{
    "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "moduleResolution": "node"
    },
    "files": [
        "node_modules/@types/**/*.d.ts"
    ],
    "exclude": [
        "node_modules"
    ]
}


nvm,这不起作用,同时使用“包含”和“排除”也不起作用。

刚刚测试过这个;如果排除node_模块,则不适用于我。(如果没有排除,它会引发其他错误):(您可以使用include属性代替或与exclude一起使用。请参阅