Moment: 未捕获的类型错误:__webpack_require__.i(...) 不是函数

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

问题描述和重现步骤:

Uncaught TypeError: __webpack_require__.i(...) is not a function
    at Object.../../../../moment/src/lib/units/year.js (vendor.bundle.js:47527)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../moment/src/lib/moment/get-set.js (vendor.bundle.js:44718)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../moment/src/lib/units/month.js (vendor.bundle.js:46328)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.../../../../moment/src/lib/locale/base-config.js (vendor.bundle.js:43484)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.<anonymous> (vendor.bundle.js:43805)
    at Object.../../../../moment/src/lib/locale/locales.js (vendor.bundle.js:44010)

请包括所有使用的变量的值。

环境:

示例:OSX 上的 Chrome 49、Windows 7 上的 Internet Explorer 10、Ubuntu 16.0.4 上的 Node.JS 4.4.4

Mac 上的最新 Chrome
Kubernetes Linux 集群上的 Angular 4

浏览器和操作系统对我们都很重要,特别是如果您有一个像 IOT 应用程序这样的不寻常的环境。

其他可能有用的信息:

  • 运行代码的机器的时区设置
    UTC+2
  • 代码运行的时间和日期
    现在。
  • 正在使用的其他库(TypeScript、Immutable.js 等)
    打字稿、Angular4、Angular-CLI

如果您要报告问题,请在您使用的环境中运行以下代码并包含输出:

Logger of Browser

确保您的问题是孤立的。

最有用的评论

我最终通过改变来解决这个问题:

import * as moment from 'moment';

到:

import * as moment from 'moment/moment';

所有14条评论

我花了一整天才意识到这是问题所在!

你解决了吗?

@nottinhill你解决问题了吗?

@nottinhill .. 我刚刚恢复到我之前的版本

@joshjohn1984你改了什么版本? angular2 时刻一还是时刻一?

我们的团队在自动安装 1.19 后遇到了同样的问题,通过卸载修复了所有问题,特别是 npm install [email protected]

错误是:
year.js:84 Uncaught TypeError: __webpack_require__.i(...) 不是函数
在对象。(年.js:84)
在 __webpack_require__ (bootstrap 2097b80…:686)
在 fn (bootstrap 2097b80…:105)
在 Object.exports.__esModule (get-set.js:6)
在 __webpack_require__ (bootstrap 2097b80…:686)
在 fn (bootstrap 2097b80…:105)
在对象。(月.js:1)
在 __webpack_require__(引导程序 2097b80…:686)
在 fn (bootstrap 2097b80…:105)
在对象。(基本配置.js:6)
(匿名)@year.js:84

我最终通过改变来解决这个问题:

import * as moment from 'moment';

到:

import * as moment from 'moment/moment';

@morrisonbrett那么您需要更改代码吗?
@matthew-sutterlin 定义自动安装1.19

是的,我必须在所有 moment 用法中更新 import 语句。 您还可以为包别名: https :

我从昨天开始就一直在面对这个问题,我的时刻版本是 2.18.1,从一开始就没有任何更改。 我没有导入时刻语句,有什么建议吗?

发生这种情况是因为 2.19 时刻版本损坏。
在我的项目中,我们使用 angular2-moment,它与时刻相关联。 查看版本 - 它没有严格定义。

  "dependencies": {
    "moment": "^2.16.0"
  },

一旦时刻更新,我们的项目就失败了。
我们必须明确添加
"moment":"2.18.1"
到我们的 package.json ,问题就解决了。

@Jerome-Joestar 这个版本是在你的 package.json 中定义的吗?
当您构建项目并看到问题时,您可以在浏览器中看到实际的源代码。 该文件是否仍然显示“2.18.1”?

@4apkis刚刚检查过并且您是正确的,它将版本提高到 2.19.0,并严格将其设置为 2.18.1。 谢谢!

复制品#4216

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