我应该如何在webpack中使用moment-timezone?

时间:2015-04-09 20:30:35

标签: javascript node.js timezone momentjs webpack

在使用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遇到同样的问题(或者也可能是浏览器)。

2 个答案:

答案 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"
}