Visual Studio 2015 NodeJS/Typescript覆盖节点启动文件

Mic*_*han 7 javascript compiler-errors node.js typescript visual-studio-2015

我一直收到以下错误:

Error Code: TS5055  
Cannot write file C:/project/dir/server.js' because it would overwrite input file.
Project: TypeScript/JavaScript Virtual Projects
Run Code Online (Sandbox Code Playgroud)

我甚至尝试将我的条目文件名更改为nodeserver.js一段时间后我得到了同样的错误:

Error Code: TS5055  
Cannot write file C:/project/dir/nodeserver.js' because it would overwrite input file.
Project: TypeScript/JavaScript Virtual Projects
Run Code Online (Sandbox Code Playgroud)

如何找出试图覆盖它的组件?

我注意到文件BuildAction设置为Compile'发布'为true.这可能是原因吗?关闭Compile.js文件的含义是什么?我不会得到任何错误检查吗?

配置文件

我的tsconfig.json

{
  "compileOnSave": true,
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "isolatedModules": false,
    "jsx": "react"
  },
  "exclude": [
    "node_modules",
    "public",
    "server.js",
    "Scripts/typings/main",
    "Scripts/typings/main.d.ts"
  ],
  "filesGlob": [
    "./src/**/*.ts",
    "./src/**/*.tsx"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我的package.json

{
  "name": "contract-vs-paye-calc-type-script",
  "version": "0.0.0",
  "description": "ContractVsPayeCalcTypeScript",
  "scripts": {
    "start": "node nodeserver.js",
    "lint": "eslint src"
  },
  "main": "/src/App.js",
  "author": {
    "name": "MC",
    "email": "admin@admin.com"
  },
  "dependencies": {
    "babel-core": "^6.7.7",
    "babel-loader": "^6.2.4",
    "express": "3.4.4",
    "jade": "*",
    "react": "^15.0.1",
    "react-dom": "^15.0.1",
    "react-hot-loader": "^1.3.0",
    "stylus": "*",
    "webpack": "^1.13.0",
    "webpack-dev-server": "^1.14.1"
  },
  "module": {
    "loaders": [
      {
        "test": "/\\.ts(x?)$/",
        "loader": "babel-loader!ts-loader"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

les*_*syk 1

似乎打字稿编译器试图转换所有内容,包括已经是 javascript 的文件。解决方案是向 compilerOptions 添加一个新字段outDir,如下所示:

{
    ...
    "compilerOptions": {
        ...
        "outDir": "generated"
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)