我正在 Visual Studio 2017 中开发一个 Angular cli v6 项目,并注意到同一文件夹中的 some 打字稿文件正在生成不需要的 .js 和 .js.map`文件。 (我不想要任何生成的)
我注意到以角度元素(“服务”、“解析器”、“组件”、“指令”)命名的文件夹内的任何文件似乎都不会创建这些额外的文件。例如,如果我在 Components 文件夹中创建 my-component.component.ts,则不会生成额外的 js/js.map 文件。
我的问题有两个:
项目文件结构(显示不需要的文件)
src
|-- app
| |-- components (no generated js/js.map files here)
| | |-- my-component.component.ts
| |
| |-- resolvers (no generated js/js.map files here)
| | |-- my-resolver.resolver.ts
| |
| |-- services (no generated js/js.map files here)
| | |-- my-service.service.ts
| |
| |-- types (has generated js/js.map files)
| | |-- my-type.type.js **dont want this file!**
| | |-- my-type.type.js.map **dont want this file!**
| | |-- my-type.type.ts
这是我的
tsconfig.json
文件
ClientApp/tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
ClientApp/src/tsconfig.app.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"baseUrl": "./",
"module": "es2015",
"types": []
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
ClientApp/src/tsconfig.spec.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/spec",
"baseUrl": "./",
"module": "commonjs",
"types": [
"jasmine",
"node"
]
},
"files": [
"test.ts",
"polyfills.ts"
],
"include": [
"**/*.spec.ts",
"**/*.d.ts"
]
}
ClientApp/e2e/tsconfig.e2e.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/e2e",
"baseUrl": "./",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}
如果这是 Angular-cli,我会感到惊讶,所以我的怀疑是 Visual Studio 本身。
在您的 Visual Studio 项目设置中查找打字稿选项,并尝试禁用保存时编译/类似
此外,值得检查项目目录中是否有任何其他 tsconfig 文件,以防存在其他配置导致错误行为。
当然,您需要手动删除这两个文件并查看它们在进行任何更改后是否会回来。
noEmit: true
和
sourceMap: false
添加到我的
ts.config.json
文件中。