我正在尝试将我的应用程序部署到已将应用程序添加到默认网站的Web服务器。我使用System.js设置baseURL并启用defaultJSExtensions为true:
<script>
System.config({
baseURL: '/foo',
defaultJSExtensions: true
});
System.import('Scripts/typescript/main.js').then(null, console.error.bind(console));
</script>
当它试图搜索我的js文件时出现问题,例如“/foo/node_modules/angular2/core.js”。它不是在搜索node_modules文件夹,它只是在寻找“/foo/angular2/core.js”。
在我的本地环境中,这一切都运行得很好,它会自动查找“node_modules”文件夹,但是当我将它发布到服务器时,它不会。
我看到一些解决方案将path选项添加到我的system.config中,但我很好奇为什么我不需要在我的本地Web服务器中执行此操作但我在测试服务器中执行此操作?是因为我的本地环境中没有“foo”站点名称吗?
我是否需要在服务器上安装nodejs?
感谢您的帮助。
答案 0 :(得分:0)
你必须在系统配置中介绍地图
System.config({
baseURL: '/foo',
defaultJSExtensions: true,
map: {
"<angular import>": "<adjust URL based upon your structure>node_modules/angular2/core.js"
}
});