在Heroku

时间:2016-09-03 14:33:53

标签: javascript node.js heroku angular

我有一个基于nodeJS / Angular2的站点,可以在我的本地Windows 10计算机上正常运行。但是,当我尝试部署到Heroku并访问该站点时,前端控制台(Chrome)会引发以下错误,并且该站点无法加载。

  

zone.js:101获取https://ns-docs.herokuapp.com/node_modules/rxjs/RX.js 404(未找到)

enter image description here

我的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

1 个答案:

答案 0 :(得分:0)

在您的软件包中,您尚未指定rxjs的主脚本。 这就是我在AngularRC.6中所做的事情:

&#39; rxjs&#39;:{main:&#39; Rx&#39;}