【问题标题】:isDevMode / enableProdMode error :Cannot enable prod mode after platform setupisDevMode / enableProdMode 错误:平台设置后无法启用 prod 模式
【发布时间】:2017-09-11 08:57:33
【问题描述】:

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

升级所有这些之后,我在开发模式下使用 webpack 开发服务器测试了一切,一切都很好。然后我尝试了一个生产 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 没有足够的了解,无法更准确地问它。任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: angular webpack-2 ngx-bootstrap


    【解决方案1】:

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

    【讨论】:

    • 完美。那解决了它。谢谢
    【解决方案2】:

    我在升级到 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 与正在升级的项目进行比较。

    【讨论】:

    • 感谢您的回复。我已经按照您的建议使用 angular-cli 创建了一个新项目。我已经更新了我的项目的 tsconfig.json 以匹配 cli 之一。我的 package.json 与 cli 的唯一区别在于它添加了额外的包。我在使用 webpack 时,我的项目中没有 angular-cli.json。我仍然有错误,我被困在下一步该怎么做。我很困惑为什么在 main.ts 中调用 enabledProdMode() 现在是一个问题:/
    猜你喜欢
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2013-05-15
    • 2020-08-28
    相关资源
    最近更新 更多