typescript tsconfig 允许 .json 导入,内置文件 (.js) 不允许。是什么赋予了?
typescript tsconfig allows .json import, built files (.js) do not. What gives?
将 "resolveJsonModule": true
添加到我的项目 .tsconfig 后,我可以直接从 .json
文件导入数据。项目运行正常,即使使用 nodemon。
但是当构建项目时,所有文件都被编译到 dist
文件夹中,运行 node dist/index.js
在遇到 json 导入时现在会失败。实际的构建命令似乎是:
babel src --out-dir dist --extensions .js,.ts --source-maps
这是一个服务器端的非 webpack 项目。
根据要求配置 tsconfig:
{
"compilerOptions": {
"baseUrl": ".",
"typeRoots": ["./types"],
"target": "es6",
"module": "es6",
"declaration": true,
"outDir": "dist",
"strict": true ,
"noImplicitAny": true,
"strictNullChecks": true,
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"resolveJsonModule": true
}
}
似乎正在编译 json 个文件 too.Try 排除它们
{
"compilerOptions": {...},
"exclude": [
"foldercontainingjsonfiles/*.json"
]
}
检查 dist 文件夹结构在 .json 导入后没有改变。当我导入 src
文件夹外的 config.json
文件时,我遇到了类似的问题。移动 src
文件夹中的 .json 文件解决了这个问题。
将 "resolveJsonModule": true
添加到我的项目 .tsconfig 后,我可以直接从 .json
文件导入数据。项目运行正常,即使使用 nodemon。
但是当构建项目时,所有文件都被编译到 dist
文件夹中,运行 node dist/index.js
在遇到 json 导入时现在会失败。实际的构建命令似乎是:
babel src --out-dir dist --extensions .js,.ts --source-maps
这是一个服务器端的非 webpack 项目。
根据要求配置 tsconfig:
{
"compilerOptions": {
"baseUrl": ".",
"typeRoots": ["./types"],
"target": "es6",
"module": "es6",
"declaration": true,
"outDir": "dist",
"strict": true ,
"noImplicitAny": true,
"strictNullChecks": true,
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"resolveJsonModule": true
}
}
似乎正在编译 json 个文件 too.Try 排除它们
{
"compilerOptions": {...},
"exclude": [
"foldercontainingjsonfiles/*.json"
]
}
检查 dist 文件夹结构在 .json 导入后没有改变。当我导入 src
文件夹外的 config.json
文件时,我遇到了类似的问题。移动 src
文件夹中的 .json 文件解决了这个问题。