Nih*_*har 7 json typescript tsconfig visual-studio-code
我是打字稿新手,有两个问题。
A。我想在 Visual Studio Code (3.6.2) 编辑器中使用以下代码在我的打字稿 (main.ts) 中导入一个简单的 JSON 文件:
import test from "./test.json";
console.log(test.name);
Run Code Online (Sandbox Code Playgroud)
我也尝试过import * as test from "./test.json";
JSON 文件(test.json)如下:
{"name": "testing",
"age":25}
Run Code Online (Sandbox Code Playgroud)
然而,当我输入“test.”时,打字稿给出了“name”、“age”的选项作为属性。
tsconfig.json 文件如下:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码抛出以下错误:
Cannot find module './test.json'. Consider using '--resolveJsonModule' to import module with '.json' extension
Run Code Online (Sandbox Code Playgroud)
由于类型定义是针对旧版本的,所以我没有使用它。我的打字稿版本是3.6.3。上述3个文件位于同一文件夹内。
-testfolder
- main.ts
- tsconfig.json
- test.json
Run Code Online (Sandbox Code Playgroud)
虽然还有一些其他类似的问题,但我在我的代码中找不到问题!我也用 submile text 3 进行了测试,但它也给出了同样的错误!
b. 如果我想从文件扩展名不同(不是 .json)的文件中解析 json 数据,我应该怎么做?
预先感谢您抽出时间。
尼哈尔,
我能够重现你提到的问题。我还可以使用以下tsconfig.json解决问题:
{
"compilerOptions": {
/* Basic Options */
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true
},
"files": ["main.ts"]
Run Code Online (Sandbox Code Playgroud)
}
当然,添加的“文件”部分假定您的主文件名为“main.ts”。坦率地说,我不确定为什么这有效,而你的原始文件却不起作用,但是当我使用tsconfig.json文件时,我尝试将打字稿需要知道的所有内容放在该位置。
| 归档时间: |
|
| 查看次数: |
8438 次 |
| 最近记录: |