我应该如何在 webpack 中使用时刻时区?
Posted
技术标签:
【中文标题】我应该如何在 webpack 中使用时刻时区?【英文标题】:How should I use moment-timezone with 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,也可能)遇到同样的问题时。
【问题讨论】:
【参考方案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 文件中。以上是关于我应该如何在 webpack 中使用时刻时区?的主要内容,如果未能解决你的问题,请参考以下文章