【发布时间】:2016-05-11 00:05:51
【问题描述】:
我正在尝试将我的应用程序部署到已将应用程序添加到默认网站的 Web 服务器。我使用 System.js 设置 baseURL 并启用 defaultJSExtensions 为真:
<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”文件夹,但是当我将它发布到服务器时,它不会。
我看到了一些将路径选项添加到我的 system.config 的解决方案,但我很好奇为什么我不需要在本地 Web 服务器中执行此操作,但我需要在测试服务器中执行此操作?是因为我的本地环境中没有“foo”站点名称吗?
我需要在服务器上安装 nodejs 吗?
感谢您的帮助。
【问题讨论】:
-
您是否在主 HTMl 文件中添加了任何基本路径?像
一样,您是否使用 Gulp\Grunt 之类的构建工具来发布文件? -
我现在只是使用 Visual Studio 2015 发布。除了上面代码中显示的内容之外,我没有添加任何基本路径。
标签: node.js typescript angular systemjs