Angular 6-位置0的JSON中的意外令牌

Sam*_*i-L 2 json webpack angular

我的Angular 5项目在没有问题的情况下工作,将其更新到版本6之后,ng build由于下一个项目而停止使用:

./src/app/assets/i18/en.json中的错误模块解析失败:JSON在位置0处出现意外令牌您可能需要适当的加载程序来处理此文件类型。

这是我的json文件:

{
  "app": {
    "Welcome": "Welcome",
    "New": "New"
  },
  "mainMenu": {
    "Home": "Home",
    "Logout": "Logout"
  },
  "pageHeader": {
    "About": "About",
    "Settings": "Settings"
  }
}
Run Code Online (Sandbox Code Playgroud)

Web上的大多数解决方案都在谈论CopyWebpackPlugin,但是该项目不使用任何Webpack配置文件。

然后,通过此链接,我尝试将json作为数组:

{
    "menu":[
        "app": {
            "Welcome": "Welcome",
            "New": "New"
        },
        "mainMenu": {
            "Home": "Home",
            "Logout": "Logout"
        },
        "pageHeader": {
            "About": "About",
            "Settings": "Settings"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是,尽管文件包含16行,却出现了以下错误。

意外的令牌:在JSON中的位置24

任何的想法 ?

Sam*_*i-L 5

受@AndrewJuniorHoward的启发,发现在升级过程中,所有json文件都编码为UTF-8-BOM而不是UTF-8,这就是Angular无法在构建期间加载它们的原因。在Visual Studio代码中,我只是创建了一个空文件,将旧json文件的内容粘贴到其中,然后将它们覆盖,并且一切正常。