我有一个TypeScript nodejs服务器,其结构如下:
tsconfig.json
package.json
src/
middleware/
utils/
index.ts
dist/
middleware/
utils/
index.js
当使用TypeScript 2时,我能够将我的项目从src/转译到dist/文件夹,并拥有一个与我的目录结构相似的镜像版本以供使用。
随着TypeScript 3的发布,他们引入了项目引用并改变了代码转译成输出目录的方式。现在tsc
会以嵌套的方式将输出放在dist/文件夹中,类似于这样:
dist/
src/
middleware/
utils/
index.js
我的 tsconfig.json 文件如下:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"allowJs": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"declaration": false,
"outDir": "dist/",
"lib": [
"es7",
"dom"
]
},
"include": [
"src/"
]
}
我该如何配置TypeScript,使其将我的src/文件夹作为镜像复制到dist/文件夹中?
resolveJsonModule
会使tsc
将输出到/dist/src
而不是/dist
?这没有任何意义。 - s.meijerpackage.json
(一个“JsonModule”)可以被导入,这强制rootDir
自动设置为包含所有源代码的目录(包括package.json
),现在src
目录不再是rootDir
而是子目录,因此在输出中反映出来。更多信息和链接以查看 TypeScript 的负责人所说的内容,请访问 https://dev59.com/klMI5IYBdhLWcg3wn85d#61467483。 - Inigo"tsconfig.json"
文件中的"include": ["**/*.ts"]
被修改为"include": ["src/**/*.ts"]
。 - Pavel Staselunrequire
语法而不是import
来解决你的问题。在我的情况下,我正在导入一个service-account.json文件,将import
改为require
可以使我的ts构建正确输出。 - undefined