【问题标题】:How should I use moment-timezone with webpack?我应该如何在 webpack 中使用时刻时区?
【发布时间】:2015-06-15 09:39:36
【问题描述】:

在使用 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(或 browserify,也可能)遇到同样的问题时。

【问题讨论】:

    标签: javascript node.js timezone momentjs webpack


    【解决方案1】:

    您可以通过将 JSON 加载器添加到您的 webpack 配置来解决此问题。

    $npm install json-loader
    

    并将其添加到 webpack.config.js 中的加载程序。不要忘记添加扩展名。

    {
      module: {
        loaders: [
            {include: /\.json$/, loaders: ["json-loader"]}
        ]
      },
      resolve: {
        extensions: ['', '.json', '.jsx', '.js']
      }
    }
    

    【讨论】:

    • 删除resolve 部分后,这对我有用。
    • 我有一点“这不起作用”的 derp 时刻——原来那是因为我的设置使用 webpack 的 dllPlugin 来缓存依赖项,而我把它放在了错误的文件中。将它添加到 webpack dll 配置文件中,然后“npm run build:dll”对我有用。提醒一下,以防有人有类似的时刻。
    • 或类似的时刻时区!哈-哈,对不起:(
    【解决方案2】:

    如果您使用的是 webpack 2.x(目前处于测试阶段)

    npm install json-loader
    

    然后将其包含在您的rules

    {
        test: /\.json$/,
        loader: "json-loader"
    }
    

    【讨论】:

    • 谢谢。这工作。我使用 Yarn 添加了包,然后将规则添加到我的 webpack.config 文件中。
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2020-09-06
    • 2017-02-12
    • 2016-12-05
    相关资源
    最近更新 更多