Moment: 更新到 2.19.0 后出现 webpack 错误

创建于 2017-10-10  ·  23评论  ·  资料来源: moment/moment

不知道它是否与 #4216 有关,因为我正在使用Angular 4.4.4并且这是React问题,所以我将其作为单独的问题发布。

更新后出现以下错误:

__WEBPACK_IMPORTED_MODULE_2_moment__ is not a function

我正在使用以下moment

"moment": "2.19.0",
"@types/moment": "2.13.0",   

我得到错误的代码非常简单:

import * as moment from 'moment';
...

  if (moment().year() !== this.mainData.activeYear)

...

最有用的评论

同样在这里。 不使用 Angular 或 React。 这是我的 webpack 错误:

WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/data/jenkins/workspace/project/node_modules/moment/src/lib/locale'
./~/moment/src/lib/locale/locales.js 65:16-60
./~/moment/src/lib/locale/locale.js
./~/moment/src/moment.js
./script.js

所有23条评论

+1 - 与 Angular 4 相同的问题

同样在这里。 不使用 Angular 或 React。 这是我的 webpack 错误:

WARNING in ./~/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/data/jenkins/workspace/project/node_modules/moment/src/lib/locale'
./~/moment/src/lib/locale/locales.js 65:16-60
./~/moment/src/lib/locale/locale.js
./~/moment/src/moment.js
./script.js

vuejs 和 webpack 也有同样的问题。

与 webpack 相同,尽管问题是由时刻时区触发的。 我们将依赖项从"moment": "^2.18.1"更改"moment": "~2.18.1"

升级到版本 2.19.0 时出现同样的问题
WARNING in ./~/[email protected]@moment/src/lib/locale/locales.js Module not found: Error: Can't resolve './locale' in '/Users/XXX/code/gitlab/web-editor/node_modules/[email protected]@moment/src/lib/locale' @ ./~/[email protected]@moment/src/lib/locale/locales.js 65:16-60 @ ./~/[email protected]@moment/src/lib/locale/locale.js @ ./~/[email protected]@moment/src/moment.js @ ./~/[email protected]@antd/lib/calendar/index.js @ ./~/[email protected]@antd/lib/index.js @ dll lib

2.19.0 也有同样的问题

这个2.19.0版本也有同样的问题

这个版本(2.19.0必须是固定的)
暂时“啊哈哈”,安装 2.18.1
“时刻”:“~2.18.1”

同样的问题😢 我们将降级回 2.18,直到问题解决。

这里同样的问题...

反应 webpack 错误

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in 'blahblahblah/node_modules/moment/src/lib/locale'
 @ ./node_modules/moment/src/lib/locale/locales.js 65:16-60
 @ ./node_modules/moment/src/lib/locale/locale.js
 @ ./node_modules/moment/src/moment.js
 @ ./src/client/components/ArticlesGrid/index.js
 @ ./src/client/containers/StuffPage/index.js
 @ ./src/client/routes.jsx
 @ ./src/client/index.js
 @ multi (webpack)-dev-server/client?http://0.0.0.0:8050 webpack/hot/dev-server babel-polyfill ./src/client/index.js

@mymtw - 作为一个社区,我们不允许在表格上发誓,因此您的评论已更新。 请不要在未来。

升级到2.19后得到这个...

node_modules/webpack/lib/IgnorePlugin.js:20
                    (!contextRegExp || contextRegExp.test(result.context))) {
                                                     ^

TypeError: contextRegExp.test is not a function

并使用忽略插件跳过我的 webpack 配置文件中的语言环境:

new webpack.IgnorePlugin(/^\.\/locale$/, [/moment$/])

锁定package.json中的时刻版本将有助于:

"moment": "2.18.0"

但是,如果您的依赖项正在提取最新的时刻版本(2.19.0),则上述操作将不起作用(运行find ./node_modules/*/node_modules -iname moment以检查您应用中的其他时刻的版本)

您可以改为使用 webpack 外部:

  • 将时刻添加到您的外部 webpack 配置中:
+            externals: {
+                moment: 'moment',
+            },
  • 使用 CDN 中的 moment.js 文件 - 将其放入您的 index.html(或 index.ejs)文件中:
    <script src="https://momentjs.com/downloads/moment.min.js"></script>

降级为~2.18.0暂时规避了这一点。

这是一个适合我的复制步骤。 我假设您在全球范围内安装create-react-app

> create-react-app my-app
> cd my-app
> # Prove the app it working correctly
> npm run start 
> npm install moment

使用以下内容更新src/app.js

 import '.App.css';

+ import moment from 'moment'

class App extends Component {
 </p>
+<p>
+ Today is {moment().format()}
+</p>
 </div>

然后

> npm run start 

期待网站加载。

实际上,失败并出现错误:无法解决“./locale”错误。

额外的上下文,做后工作

> npm install [email protected] 

这很有趣。 我刚刚更新了自己为工作而编写的代码的时刻,并启动了 webpack。 据我所知,我拥有所有 webpack 依赖项中的最新版本(有几个,我只检查了几个),以及 2.19.0,一切都很好。

接下来我将尝试这个 create-react-app 路径。

对于这个错误,这不是一个非常愉快的早晨!

同上这个错误。

npm install --save [email protected]

这暂时解决了这个问题。 2.19.0 大约 2 小时前给了我同样的错误。
降级到版本2.18.1并且运行良好。

我们也可以证实这种情况。

2.19.0 破坏了我们的生产构建:(。恢复到 2.18.1 似乎工作正常。

作为 #4216 的副本关闭 - 跟踪那里。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

elmart picture elmart  ·  42评论

GautierT picture GautierT  ·  149评论

cristianstaicu picture cristianstaicu  ·  24评论

ichernev picture ichernev  ·  163评论

SunnySnail picture SunnySnail  ·  54评论