SystemJS似乎没有问题地加载rxjs模块,但是在rxjs目录本身上抛出了404 Not Found。所有模块都是最新版本,这只是Windows上的一个问题,它适用于osx。
获取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>
+-- 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
我解决了这个问题,似乎我在.ts中导入rxjs的方式已被弃用:
从
更改 import {Subject, Observable} from 'rxjs';
为:
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
import { map } from 'rxjs/operator/map';
答案 0 :(得分:1)
您不应在系统配置中添加rxjs
特殊内容。 SystemJs默认支持node_modules
模块查找。
答案 1 :(得分:0)
我也认为您不需要在System.config中添加rxjs。它会自动处理它。就像在A2 5min Quick Start中提到的那样,你只需要在你的index.html中添加<script src="node_modules/rxjs/bundles/Rx.js"></script>
并将你的SystemJS指向你的主要组件,休息它就会照顾其余部分。