【发布时间】:2018-07-10 15:28:42
【问题描述】:
我的 Angular 5 项目运行正常,在将其更新到版本 6 后,由于以下原因,它停止使用 ng build 构建:
./src/app/assets/i18/en.json 中的错误模块解析失败:意外 位置 0 处的 JSON 中的令牌 您可能需要适当的加载器来 处理这种文件类型。
这是我的 json 文件:
{
"app": {
"Welcome": "Welcome",
"New": "New"
},
"mainMenu": {
"Home": "Home",
"Logout": "Logout"
},
"pageHeader": {
"About": "About",
"Settings": "Settings"
}
}
网络上的大多数解决方案都在谈论CopyWebpackPlugin,但该项目不使用任何 Webpack 配置文件。
然后,在this link 之后,我尝试将 json 设置为数组:
{
"menu":[
"app": {
"Welcome": "Welcome",
"New": "New"
},
"mainMenu": {
"Home": "Home",
"Logout": "Logout"
},
"pageHeader": {
"About": "About",
"Settings": "Settings"
}
]
}
尽管文件包含 16 行,但出现以下错误。
意外的令牌:在 JSON 中的位置 24
有什么想法吗?
【问题讨论】:
-
第一个json有效,第二个(数组无效)。你确定问题就在这里。使用这个验证器jsonlint.com
-
我同意,您的 JSON 完全按照原来的方式有效。这可能与您的 Angular.json 配置有关。当您收到错误消息时,也只是一个 FYI,上面写着
at postion 24...它的字面意思是在字符位置 24 ,而不是第 24 行。 -
@Narm angular.json 文件是在升级过程中自动生成的。
-
@lealceldeiro 你说得对,第二个 json 无效,谢谢你的链接。
-
你用什么包来处理本地化,
@ngx-translate?