我有在webpack上运行的react / redux应用程序,并且想使用moment-timezone库.我已经在SO中检查了
How should I use moment-timezone with webpack?问题,并按照问题中的描述安装了json-loader.但是当我在我的应用程序中需要时刻时区时:
const momentTz = require('moment-timezone');
ERROR in ./~/moment-timezone/index.js Module not found: Error: Cannot resolve 'file' or 'directory' /path-to-the-project/node_modules/moment-timezone @ ./~/moment-timezone/index.js 2:15-51
@ ./~/moment-timezone/index.js 2:15-51的位置是:
moment.tz.load(require('./data/packed/latest.json'));
但是,当我从构建文件夹中包含缩小版本时,它正常工作,如下所示:
const momentTz = require('moment-timezone/builds/moment-timezone-with-data.min');
更新:
webpack配置:
let jsonLoader = require('json-loader'); loaders: [ { include: /\.json$/,loaders: [jsonLoader] } ]
解决方法
我的问题是在webpack配置中.问题是我在webpack配置中需要json-loader并将其作为对象而不是字符串传递,因此将其更改为字符串修复了问题:
loaders: [ { include: /\.json$/,loaders: ['json-loader'] } ]