在编译应用程序并尝试使用webpack实现i18n库时,我遇到了这个错误:
2
重复我在locales文件夹中的其他语言,该文件正确放置在src文件夹中,即使JSON文件完全为空,也会发生同样的错误。
这是webconfig.js文件:
(2 & 1) == 1
上述代码中的问题发生在
ERROR in ./node_modules/bundle-loader?lazy&name=lang-pt!./src/locales/pt/translation.json
Module parse failed: Unexpected token m in JSON at position 0
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token m in JSON at position 0
at JSON.parse (<anonymous>)
at JsonParser.parse (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\JsonParser.js:15:21)
at doBuild.err (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\NormalModule.js:367:32)
at runLoaders (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\NormalModule.js:264:12)
at C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:370:3
at iterateNormalLoaders (C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:211:10)
at C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:183:6
at runSyncOrAsync (C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:130:11)
at C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:175:3
at loadLoader (C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\loadLoader.js:36:3)
at iteratePitchingLoaders (C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:169:2)
at runLoaders (C:\Users\vasco.bento\ContactosWebPack\node_modules\loader-runner\lib\LoaderRunner.js:362:2)
at NormalModule.doBuild (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\NormalModule.js:219:3)
at NormalModule.build (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\NormalModule.js:337:15)
at Compilation.buildModule (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\Compilation.js:346:10)
at factory.create (C:\Users\vasco.bento\ContactosWebPack\node_modules\webpack\lib\Compilation.js:572:15)
@ ./node_modules/aurelia-i18n/dist/native-modules/aurelia-i18n.js
@ ./src/main.js
@ ./node_modules/aurelia-webpack-plugin/runtime/empty-entry.js
@ multi aurelia-webpack-plugin/runtime/empty-entry aurelia-webpack-plugin/runtime/pal-loader-entry aurelia-bootstrapper
ERROR in chunk app [entry]
[name].[hash].bundle.js
Cannot read property 'replace' of undefined
如果您发表评论,让应用程序编译没有问题,我已经搜索了但事件虽然我发现了类似的问题,但是我没有找到一个有效的解决方案,如果有人对我如何能有任何建议解决这个问题我会很感激。
提前致谢。
答案 0 :(得分:11)
它说unexpected token m
的原因是因为json-loader将你的json转换成一个以module.exports = ..
开头的javascript文件。
当然这是无效的json(json必须始终以开括号{
开头),因此它对于&#34; m&#34; &#34;模块&#34;。
换句话说,此错误表示webpack尝试连续两次应用json-loader。将json-loader
更改为raw-loader
应该摆脱webpack的包装javascript并将json原样传递给其他任何可能尝试将其作为原始json加载的插件。
这是一个相关的问题,可能会帮助您解决这个问题:
答案 1 :(得分:0)
您只需以有效的 JSON 格式发送响应即可从后端消除此错误。所以自动错误将从前端开始。 只需在后端添加一行发送响应即可。
return res.status(201).json({
message: 'Success',
})