我已经为RXjs库添加了一个脚本引用,并在Rx根目录中包含了一个import语句。
在我的HTML中:
<script src="libs/Rx.js"></script>
<script>
System.config({
map: {
rxjs: '/libs/Rx' // added this map section
},
packages: {
scripts: {
defaultExtension: 'js'
}
}
});
</script>
(我使用Gulp将我需要的node_modules传输到libs文件夹。这是我需要做的事情,以使Angular2在Visual Studio 2015中工作,如Starting Angular 2 in ASP.NET 5 with TypeScript using Visual Studio 2015中所述。)
在我的组件中:
import "rxjs/Rx";
我收到了这些错误。
.../Rx/Observable 404 (Not Found)
.../Rx/Subject 404 (Not Found)
.../RX/operator/toPromise 404 (Not Found)
.../Rx/observable/PromiseObservable 404 (Not Found)
.../Rx/operators/map 404 (Not Found)
这些是由system.src.js(第4868行)引发的。为什么Systemjs无法找到它们? Rx.js文件已定义。
我是否应该在我的组件中明确包含这些内容?除了“map”之外,我没有在我的项目中明确使用它们。这些可能是从地图或其他Rx方法中调用的。
更新
我更新了我的Gulp脚本以复制所有Rx库和文件夹,而不仅仅是单个捆绑文件。它解决了这个问题。
答案 0 :(得分:1)
您需要在done()
文件夹而非Rx.js
文件夹中加入Rx.min.js
或node_modules/rxjs/bundles
文件。
否则,您需要在SystemJS配置中配置Rxjs:
node_modules/rxjs
答案 1 :(得分:0)
你是以正确的方式进口的吗?试试这种方式。
import {Subject, Observable} from 'rxjs';