在typescript中导入json文件导致;意外标记“;使用有效的json时出错
因此,我尝试将json文件导入到我的代码中。这是我的导入行:在typescript中导入json文件导致;意外标记“;使用有效的json时出错,json,typescript,Json,Typescript,因此,我尝试将json文件导入到我的代码中。这是我的导入行: 从“/assets/fonts/helvetiker_bold.typeface.json”导入数据 下面是字体json文件(只是为了测试它是否会立即导入): {“hi”:“true”} 这是我的tsconfig.json文件: { "compilerOptions": { "moduleResolution": "node", "resolveJsonModule": true, "esModuleInt
从“/assets/fonts/helvetiker_bold.typeface.json”导入数据代码>
下面是字体json文件(只是为了测试它是否会立即导入):
{“hi”:“true”}
这是我的tsconfig.json文件:
{
"compilerOptions": {
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
"target": "es5",
"module":"es2015",
"lib": ["es2015", "es2016", "es2017", "dom"],
"strict": true,
"sourceMap": true,
"declaration": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declarationDir": "dist/types",
"outDir": "dist/lib",
"typeRoots": [
"node_modules/@types"
]
},
"include": [
"src"
]
}
下面是我在尝试编译时遇到的错误:
[!] Error: Unexpected token
src\assets\fonts\helvetiker_bold.typeface.json (1:5)
1: {"hi":"true"}
^
我不知道它在抱怨什么。。非常感谢任何帮助我的解决方案是创建一个包含JSON对象的类,并将其与FontLoader.parse()函数结合使用,而不是从文件中加载JSON。这是这样完成的:
创建了一个名为HelvetikerUtils.ts
的文件,其中包含我的json对象:
我解决这个问题的方法是创建一个包含JSON对象的类,并将其与FontLoader.parse()函数结合使用,而不是从文件中加载JSON。这是这样完成的:
创建了一个名为HelvetikerUtils.ts
的文件,其中包含我的json对象:
就我个人而言,我从未成功地将其与import
一起使用过,但是相当于const data=require('./assets/fonts/helvetiker_bold.typeface.json')
的方法似乎对我来说是一种有效的方法workaround@apokryfos我想我已经试过了。当我在浏览器中运行代码时,我得到了ReferenceError:require未定义
也许你需要将module
切换到commonjs
,以使其正常工作。@apokryfos我也尝试过,但仍然得到了require未定义的错误/:真的想寻找一个不需要require
因为我从来没有尝试过让require单独工作,所以我从来没有尝试过让它与import
一起工作,但是相当于const data=require('./assets/fonts/helvetiker_bold.typeface.json')
的方法对我来说似乎是一种有效的方法workaround@apokryfos我想我已经试过了。当我在浏览器中运行代码时,我得到了ReferenceError:require未定义
也许你需要将module
切换到commonjs
,以使其正常工作。@apokryfos我也尝试过,但仍然得到了require未定义的错误/:真的想寻找一个不需要require
因为我试过的东西都不需要工作
export class HelvetikerUtil {
constructor() { }
data: any = <YOUR_FONT_JSON_HERE>
}
let myFont = new HelvetikerUtil;
let FONTLoader = new FontLoader();
let font = FONTLoader.parse(myFont.data);