我尝试过在网上找到的所有解决方案,但似乎我无法解决我的具体问题 .
我试图将静态.json文件导入节点控制器,所有这些都在TypeScript中 .
我得到的错误是
找不到模块'./data.map.json'
我已经检查了100次路径,这绝对是正确的 . 我已经尝试了require和import的每个组合,以及我在tsconfig.json中找到的每个选项,这是我认为问题所在 .
下面是一个简洁的示例,显示了我的设置 . 如何在Typescript应用程序中导入静态json文件?
调节器
import * as data from "./data.map.json";
typings.d.ts
declare module "*.json" {
const value: any;
export default value;
}
tsconfig.json
{
"compilerOptions": {
"outDir": "build",
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"typeRoots": ["node_modules/@types"],
"paths": {
"*": ["typings.d.ts"]
}
},
"files": [
"typings.d.ts"
],
"include": [
"src/**/**.ts",
"test/**/**.ts"
],
"exclude": [
"node_modules"
],
"compileOnSave": false
}
2 回答
从TS 2.9 added support for well typed json imports开始,可能不再需要解决方法 . 只需添加:
在
tsconfig.json
或jsconfig.json
中 . 使用此方法,您当前必须使用带有.json
文件扩展名的完整路径:代替:
修复了这一段时间之前忘了在这里发布答案 . 我没有尝试导入json文件,而只是从typescript文件中导出json对象,而且效果很好
将导入行更改为
和文件
data.map.ts
是你可以像你期望的那样访问它