【问题标题】:Upgraded app works but looks wrong - Angular 4 to 5升级后的应用程序有效但看起来不对 - Angular 4 到 5
【发布时间】:2018-02-13 13:46:23
【问题描述】:

在过去的 24 小时里,我一直在尝试将一个从 ASP.NET Core 模板创建的 Angular 4 应用升级到一个 Angular 5 应用,但没有成功。然后我尝试将一个全新的应用程序(没有修改)升级到 Angular 5,即使该应用程序似乎可以工作 - 它在视觉上完全错误(见下图)。

我只做了几个简单的步骤,到处都提到了升级 Angular 4 应用程序的“正确方法”。我只使用了one of the tutorials,但它们或多或少都相同(还有tried this)。

我的环境:Node.js:8.9.4,@angular/cli:1.6.8

重现步骤:

  1. 启动 Visual Studio 2017
  2. 使用 Angular 模板创建新的 ASP.NET Core Web 应用程序
  3. 构建并运行。工作正常。
  4. 按照 Angular 5 升级教程中的步骤操作。
  5. 构建并运行。工作正常,但看起来不对。

更新

如果我简单地将 Angular 4 项目创建的 vendors.css 复制到 Angular 5 项目的 wwwroot\dist 中,外观似乎恢复正常。

【问题讨论】:

  • 这里与c#无关,请不要添加无关标签
  • 对我来说就像缺少 CSS,你有任何浏览器控制台错误吗?也许是 404?
  • 您需要将“工作”站点与“非工作”站点进行比较,并找出造成样式的原因(可能是一个 css 文件,但也可能是多个文件)。一旦您知道哪个文件负责(缺少)样式,然后找出为什么它没有被加载到升级的站点中(也许您需要在您的角度 cli 配置中引用?)。如果您仍然遇到问题,请使用您从上述操作中获得的相关详细信息更新您的问题。
  • @DavidG,没有任何错误。 @Igor,我没有可比较的“工作”网站。这可能是 webpack 域中的问题,但也可能是 Angular 问题。我在这方面太弱了,无法追捕它。我确实浪费了 24 小时,试图以任何可能的方式解决这个问题。我确实注意到 Angular 4“vendor.css”的大小是 Angular 5“vendor.css”的两倍。所以有些东西被遗漏了。不知道在哪里或为什么。我希望有 VS 的人能在几分钟内解决这个问题……
  • 您是否考虑过使用来自 Angular 开发者的angular-update-guide.firebaseapp.com?

标签: angular asp.net-core angular5


【解决方案1】:

经过 2 天的研究,我找到了解决此问题的方法,问题是在更新期间您已将 bootstrap 更新到 v. 4.0.0 以修复它,我已将 bootstrap 降级到 v. 3.3.7,如下所示:

  1. 打开视觉工作室。
  2. 打开 packages.json。
  3. 找到引导入口并将版本更改为 3.3.7。
  4. 关闭视觉工作室。
  5. 在应用程序的根文件夹中打开 power shell。
  6. 运行 npm install
  7. 运行 webpack --config webpack.config.vendor.js
  8. 打开 Visual Studio 并运行您的项目。

【讨论】:

  • 我相信我发现它与一个不相关的项目的分辨率相同。我没有时间验证是否是这种情况,因此感谢您发布答案。我希望它可以帮助其他人。对于经常使用 VS 和 SPA 模板的人来说,这应该可以节省大量时间。
猜你喜欢
  • 2017-08-20
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 2020-01-27
相关资源
最近更新 更多