在使用webpack构建我的项目时,我通常需要来自npm模块的CommonJS中的模块。我需要在我的项目中使用时间 - 时区,但是在构建软件包时,您还必须构建来自时刻 - 时区的所有数据,这可能非常多。
此外,构建失败并出现以下错误:
ERROR in ./~/moment-timezone/data/packed/latest.json
Module parse failed: /site/node_modules/moment-timezone/data/packed/latest.json Line 2: Unexpected token :
You may need an appropriate loader to handle this file type.
| {
| "version": "2015a",
| "zones": [
| "Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q",
@ ./~/moment-timezone/index.js 4:15-51
此时我并不关心构建失败,因为我关于构建的大小,如果它实际上成功了。虽然,显然失败的构建也需要在某个时候得到解决。
我很感激有关如何处理这个问题的任何指示,特别是如果您有任何人使用webpack遇到同样的问题(或者也可能是浏览器)。
答案 0 :(得分:83)
您可以通过将JSON加载程序添加到您的webpack配置来解决此问题。
$npm install json-loader
并将其添加到webpack.config.js中的加载器中。不要忘记添加扩展名。
{
module: {
loaders: [
{include: /\.json$/, loaders: ["json-loader"]}
]
},
resolve: {
extensions: ['', '.json', '.jsx', '.js']
}
}
答案 1 :(得分:11)
如果您使用的是webpack 2.x(目前处于测试阶段)
npm install json-loader
然后在rules
{
test: /\.json$/,
loader: "json-loader"
}