我有一个基于nodeJS + expressJS + Angular2-RC.5的站点,可以在我的本地Windows 10机器上正常运行。但是,当我尝试将(here's日志)部署到Heroku并访问该站点时,前端控制台(Chrome)会引发以下错误,并且该站点无法加载。似乎有些问题没有在Heroku上提供RXjs吗?
zone.js:101获取https://ns-docs.herokuapp.com/node_modules/rxjs/RX.js 404(未找到)
我的systemjs.config.js
包含以下内容:
(function(global) {
// map tells the System loader where to look for things
var map = {
'app': '/app', // 'dist',
'@angular': '/node_modules/@angular',
'angular2-in-memory-web-api': '/node_modules/angular2-in-memory-web-api',
'rxjs': '/node_modules/rxjs'
};
// packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.js', defaultExtension: 'js' },
'rxjs': { defaultExtension: 'js' },
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
};
System.config(config);
})(this);
我的index.html
包含:
...
<script src="/node_modules/core-js/client/shim.min.js"></script>
<script src="/node_modules/zone.js/dist/zone.js"></script>
<script src="/node_modules/reflect-metadata/Reflect.js"></script>
<script src="/node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="/config/systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
<base href="/">
</head>
因此,如果我在本地运行项目,http://localhost:3000/node_modules/rxjs/RX.js
会显示js源代码。
但是,如果我使用this构建日志将项目推送到Heroku,那么该版本将在/node_modules/rxjs/RX.js
上返回404
如果我将我的仓库克隆到我机器上的新位置,请cd到项目根目录,运行npm i
,然后运行git submodule update --init" then
node./ bin / www`,然后项目在localhost上正常运行。我认为这意味着repo中的所有信息都足以使项目正常运行。所以我的怀疑仍然是我在Heroku和本地机器上提供静态驴的方式。
答案 0 :(得分:3)
服务器可能是基于Linux的,文件/文件夹名称区分大小写。它的Rx.js
不是RX.js
。所以你在某处<{1}}出错了