2

我刚刚将我们的项目升级到 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 没有足够的了解,无法更准确地问它。任何帮助将非常感激。

谢谢

4

2 回答 2

1

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

于 2017-09-12T15:05:43.310 回答
0

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

  1. 升级全局安装@angular/cli以匹配项目 package.json 中的版本。我使用的是@angular/cli1.4.0,但您可能需要 Angular 4.1.0 的旧版本,我不确定。
  2. 使用该 CLI 版本生成了一个新项目,package.json并将生成.angular-cli.json的项目与正在升级的项目进行比较。tsconfig.jsonmain.ts
于 2017-09-11T20:33:34.980 回答