SystemJS找不到RxJS根目录

use*_*800 6 javascript npm rxjs typescript systemjs

SystemJS似乎加载rxjs模块没有问题,但在rxjs目录本身上抛出了404 Not Found.所有模块都是最新版本,这只是Windows上的一个问题,它适用于osx.

GET http:// localhost:8080/node_modules/rxjs / 404(未找到)

错误:错误:XHR错误(未找到404) XHR已完成加载:GET"localhost:8080/node_modules/rxjs/Subject.js".

XHR完成加载:GET"localhost:8080/node_modules/rxjs/operator/toPromise.js".

模块加载和错误

<script>
    System.config({
        packages: {
            app: {
                format: 'register',
                defaultExtension: 'js',

            },
            'components':{ format: 'register' },
            'rxjs': {defaultExtension: 'js'}
        },
        map: {'app': '/components',
            'rxjs': '../node_modules/rxjs',
            },


    });
    System.import('components/notes.js')
            .then(null, console.error.bind(console));
</script>
Run Code Online (Sandbox Code Playgroud)

+-- angular2@2.0.0-beta.9
+-- bootstrap@3.3.6
+-- es6-promise@3.0.2
+-- es6-shim@0.33.3
+-- jquery@2.2.1
+-- reflect-metadata@0.1.2
+-- rxjs@5.0.0-beta.2
+-- systemjs@0.19.24
| +-- es6-module-loader@0.17.11
| `-- when@3.7.7
+-- typescript@1.8.7
`-- zone.js@0.5.15
  `-- es6-promise@3.1.2
Run Code Online (Sandbox Code Playgroud)

我修复了这个问题,似乎我在我的.ts中导入rxjs的方式已被弃用:

改变了

import {Subject, Observable} from 'rxjs';

至:

import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { map } from 'rxjs/operator/map';

小智 0

我也认为你不需要在 System.config 中添加 rxjs 。它会自动处理它。就像A2 5 分钟快速入门中提到的那样,您只需添加<script src="node_modules/rxjs/bundles/Rx.js"></script>到您的 index.html 并将您的 SystemJS 指向您的主要组件,其余的它会处理剩下的事情。