isDevMode / enableProdMode错误:平台设置后无法启用prod模式

时间:2017-09-11 08:57:34

标签: angular webpack-2 ngx-bootstrap

我刚刚将项目升级到Angular 4.1.0。这还包括将webpack升级到2.2.1,以及在其他软件包升级中将ngx-boostrap升级到1.9.2。

升级完所有这些后,我用webpack 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 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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.jsontsconfig.jsonmain.ts与正在升级的项目进行比较。