【问题标题】:Prefixing Angular2 routes in different environments在不同环境中为 Angular2 路由添加前缀
【发布时间】:2017-04-01 08:28:49
【问题描述】:

假设在开发中您正在开发一个在localhost:3000 上运行的 Angular2 应用程序。您的所有路线都运行良好。

但是您想部署到myserver.com/myapp/,这样您的生产路线现在将以myapp/ 为前缀。现在你的路由都中断了,因为 Angular2 在前端解析了它自己的路由。

有没有一种方便的方法可以在一个环境中为所有 Angular2 路由添加前缀而不是在另一个环境中添加前缀?

【问题讨论】:

  • 你试过<base href="myapp/">吗?
  • 为什么您的开发环境没有(在某些方面)反映生产环境?如果生产使用前缀,为什么您的开发应用程序不使用该前缀?
  • 谢谢! base href 工作。对于后代,这是如何在 Webpack 中设置它:stackoverflow.com/a/35269814/2242700
  • @Makoto Just 不是我们的企业现在想要设置开发的方式。

标签: angular angular2-routing


【解决方案1】:

您可以在 package.json 文件的“脚本”部分添加以下行。

"build_prod": "ng build --prod --extract-css=false --base-href=/myapp/",

然后,当您构建用于生产的工件时,请在终端中运行 npm run build_prod

将 dist 的内容上传到您的服务器。它会起作用的。

【讨论】:

    猜你喜欢
    • 2014-09-29
    • 2018-01-11
    • 2017-06-09
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多