【问题标题】:Routing issues to sub routes, Angular2 and Express, trying to serve up sub-directories路由问题到子路由,Angular2 和 Express,试图提供子目录
【发布时间】:2017-02-03 23:27:44
【问题描述】:

我有 Express 提供本地 Angular2 应用程序。为了从 express 向 Angular2 应用程序公开各种 node_modules,我有类似下面的设置

config.dependencies = [
{
  staticPath: './node_modules/@angular/',
  mntPath: '/angular'
},
...
config.dependencies.forEach((dependency) => {
  app.use(dependency.mntPath, express.static(path.resolve(dependency.staticPath)));
})

在我的 Angular2 应用程序中的 index.html 中

<script src="angular/shim.min.js"></script>
<script src="angular/zone.js"></script>
<script src="angular/Reflect.js"></script>
<script src="angular/system.src.js"></script>
<script src="systemjs.config.js"></script>
<base href="/">

这一直很有效。我可以路由到任何页面(例如 localhost/settings)。当我尝试使用子路由或参数(例如 settings/:id)时,我的问题就出现了。我设置了路线,应用程序可以从内部导航到 settings/5,但如果我重新加载页面,一切都会崩溃。

问题的症结在于硬重新加载浏览器试图从 localhost/settings/angular/zone.js 的相对路径而不是 localhost/angular 获取 shim.js、zone.js 等... /。如何强制应用尝试从正确的位置获取资源?

【问题讨论】:

    标签: angular express angular2-routing


    【解决方案1】:

    哈哈没关系!只需将基本 href 声明移到 systemjs 导入之上,这一切都是肉汁。非常感谢 https://stackoverflow.com/a/35854918/3935218 的 runmarkets 回答,它强调了解决方案

    【讨论】:

      猜你喜欢
      • 2018-02-14
      • 2017-10-10
      • 1970-01-01
      • 2017-07-27
      • 2015-12-23
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多