angular打字和nodejs打字'node.d.ts'冲突

angular typing and nodejs typing 'node.d.ts' conflict

我正在用打字稿开发 nodejs 应用程序,angular 也在打字稿中。我已经使用 gulp 将文件转换为 js。但是当我 运行 命令传输我的 angular 文件时它给我错误 TS2300: 重复标识符

这是我的 gulp.config.js

module.exports = function () {
    var config = {
        allTs:'./src/**/*.ts',
        typeings:'./typings/**/*.ts',
        server:'./server.ts',
        tsOutPutPath:'./app',
        allNgTs:'./client/**/*.ts',
        ngOut:'./public/scripts/src'
    };
    return config;
}

这是我的 gulp 任务

gulp.task('compile-ng', function () {

    var sourceTsFiles = [
        config.typeings,
        config.allNgTs
    ]

    del(['public/scripts/**/*.js','public/scripts/**/*.html']).then(paths => {
        console.log('Deleted files and folders:\n', paths.join('\n'));
    });
    var tsResult = gulp
        .src(sourceTsFiles)
        .pipe(sourcemaps.init())
        .pipe(tsc(tsProject));

    return tsResult.js
        .pipe(sourcemaps.write('../map'))
        .pipe(gulp.dest(config.ngOut));
});

将 ngTypeings:'./node_modules/angular2/typings/**/*.ts' 添加到 gulp.config.json 文件并在任务中使用此 angular2 键入而不是键入

 var sourceTsFiles = [
        config.ngTypeings,
        config.allNgTs
    ]

您的 tsconfig.json 文件应排除 node_modules 和任何可能与 angular d.ts 冲突的 d.ts 文件,即:

{
  "compilerOptions": {    
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude":[    
    "fonts",
    "images",
    "img",
    "libs",
    "navigation",
    "node_modules",
    "pagehtmls",
    "typings"
  ]
}