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 文件解决了这个问题。