我有Express提供本地Angular2应用程序。要从express表示各种node_modules到Angular2应用程序,我有类似下面的设置
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。我设置了路线,从内部*应用程序可以导航到设置/ 5,但如果我重新加载页面所有地狱都会松动。
问题的症结在于重新加载浏览器试图从localhost / settings / angular / zone.js的相对路径中获取shim.js,zone.js等...而不是localhost / angular /。如何强制应用程序尝试从正确的位置获取资源?
答案 0 :(得分:0)