【发布时间】: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