2017-09-11 16 views
2

我刚将项目升级到了Angular 4.1.0。这还包括将webpack升级到2.2.1,并将ngx-boostrap升级到1.9.2以及其他软件包升级。isDevMode/enableProdMode错误:平台安装后无法启用prod模式

升级完所有这些之后,我使用webpack dev服务器测试了所有的东西,在dev模式下,一切正常。然后我尝试了一个生产webpack的构建。构建工作正常,但运行我们的网站时,我立即得到错误'平台安装后无法启用prod模式'。

在使用Chrome开发工具进行调查后,我可以看到ngx-bootstrap/utils/warn-once.js在启动过程中调用isDevMode()。这发生在我们main.ts中调用enableProdMode()之前。角码在检查后不允许改变模式,因此引发错误。我明白这一点。

但是,我对webpack的了解远远超出了它对我们项目的效果,并且没有进一步的了解。我不知道这里有什么错。它是:

1)ngx-bootstrap不应该在启动时调用isDevMode()。

2)我的webpack配置不正确,并且main.ts运行后应该会发生对isDevMode的调用(但是没有任何代码发生变化,因为这在升级前都工作正常)。

3)别的东西

道歉,这是一个模糊的问题。我只是没有足够的理解webpack来更准确地提出问题。任何帮助将非常感激。

谢谢

回答

2

将ngx-bootstrap更新为1.9.3,此版本修正了该问题。

+0

完美。这解决了它。谢谢 – Tom

0

我有同样的问题升级到Angular 4.3.4。我做了两件事来修复它:

  1. 升级全局安装的@angular/cli以匹配项目的package.json中的版本。我使用了@angular/cli 1.4.0,但您可能需要Angular 4.1.0的旧版本,我不确定。
  2. 使用该CLI版本生成一个新项目,并将该项目与生成的项目进行升级时比较package.json,.angular-cli.json,tsconfig.jsonmain.ts
+0

谢谢您的回复。我已经按照你的建议通过使用angular-cli创建了一个新项目。我更新了我的项目的tsconfig.json以匹配cli。我的package.json与cli不同之处在于它增加了额外的包。我的项目中没有angular-cli.json,因为我使用的是webpack。 虽然我仍然有错,但我坚持下一步该做什么。 我很困惑,为什么在main.ts中调用enabledProdMode()现在是个问题:/ – Tom