Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 静态资产不在Heroku上运行,但在本地运行?_Node.js_Express_Heroku_Angular_Rxjs - Fatal编程技术网

Node.js 静态资产不在Heroku上运行,但在本地运行?

Node.js 静态资产不在Heroku上运行,但在本地运行?,node.js,express,heroku,angular,rxjs,Node.js,Express,Heroku,Angular,Rxjs,我有一个基于nodeJS+expressJS+angular2rc.5的网站,它在我本地的windows10机器上运行良好。但是,当我尝试将(日志)部署到Heroku并访问该站点时,前端控制台(Chrome)抛出以下错误,该站点无法加载。似乎RXjs没有在Heroku上提供存在一些问题 zone.js:101 GET 404(未找到) 我的报告包括: (function(global) { // map tells the System loader where to look for t

我有一个基于nodeJS+expressJS+angular2rc.5的网站,它在我本地的windows10机器上运行良好。但是,当我尝试将(日志)部署到Heroku并访问该站点时,前端控制台(Chrome)抛出以下错误,该站点无法加载。似乎RXjs没有在Heroku上提供存在一些问题

zone.js:101 GET 404(未找到)

我的报告包括:

(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);
我的报告包括:

...
    <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>
。。。
System.import('app').catch(函数(err){console.error(err);});
因此,如果我在本地运行项目,
http://localhost:3000/node_modules/rxjs/RX.js
显示js源代码。 但是,如果我使用构建日志将项目推送到Heroku,该版本将在
/node\u modules/rxjs/RX.js

更新:
如果我将repo克隆到计算机上的一个新位置,将cd复制到项目根目录,运行
npmi
,然后
git子模块更新--init“然后
node./bin/www`然后项目在本地主机上运行良好。我认为这意味着回购协议中的所有信息都足以使项目发挥作用。因此,我仍然怀疑这与Heroku与我的本地计算机上提供静态访问的方式有关。

服务器可能基于linux,并且文件/文件夹名称区分大小写。它是
Rx.js
而不是
Rx.js
。所以你在某个地方导入了一个错误的
import

我没有在应用程序的任何地方导入rxjs,它只是angularOh的子依赖项。。然后。。但是有些事情确实发生了:D,因为尝试转到
/node\u modules/rxjs/Rx.js
,它会正常工作,你是对的!我会尽力追查的。。。有什么想法吗?不知道为什么会发生这种情况,因为我的
config.system.js
中明确指定了正确的大小写。搜索项目(尤其是节点模块文件夹)中的RX:)确保检查区分大小写