Angular2组件中的多个Rx 404错误

时间:2016-05-04 21:52:49

标签: angular rxjs

我已经为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库和文件夹,而不仅仅是单个捆绑文件。它解决了这个问题。

2 个答案:

答案 0 :(得分:1)

您需要在done()文件夹而非Rx.js文件夹中加入Rx.min.jsnode_modules/rxjs/bundles文件。

否则,您需要在SystemJS配置中配置Rxjs:

node_modules/rxjs

答案 1 :(得分:0)

你是以正确的方式进口的吗?试试这种方式。

import {Subject, Observable} from 'rxjs';