我正在开发next.js应用程序。它具有以下tsconfig.js
{
"compilerOptions": {
"target": "ES2018",
"module": "esnext",
"lib": [
"dom",
"es2018",
"es2019.array"
],
"jsx": "preserve",
"sourceMap": true,
"skipLibCheck": true,
"strict": true,
"esModuleInterop": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"allowJs": true,
"forceConsistentCasingInFileNames": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"incremental": true
},
"exclude": [
"server",
"next.config.js"
],
"include": [
"lib/global.d.ts",
"next-env.d.ts",
"**/*.ts",
"**/*.tsx",
"**/*.js"
]
}
它在开发模式下运行良好,但是在创建构建时显示以下错误:
ERROR in tsconfig.json
22:5 Option 'noEmit' cannot be specified with option 'incremental'.
20 | "resolveJsonModule": true,
21 | "isolatedModules": true,
> 22 | "noEmit": true,
| ^
23 | "incremental": true
24 | },
25 | "exclude": [
Next.js自动在文件中注入“ noEmit:true”tsconfig.json
。虽然我确实需要增量模式才能更快地构建。有什么解决方案?
从TypeScript问题#33809开始:
据此,
incremental: true
标志在noEmit: true
定义时没有采取任何措施来加快构建速度。因此,您应该删除noEmit: true
它或将其更改为emitDeclarationOnly: true
。您可以使用
outDir
和控制输出文件夹declarationDir
。