Angular2,systemjs,未能使用Rx.umd.js
在Angular RC4的最新版本中,Rxjs可与Angular2,systemjs,未能使用Rx.umd.js,angular,rxjs,umd,Angular,Rxjs,Umd,在Angular RC4的最新版本中,Rxjs可与node_模块或npmcdn.com目录一起使用 已成功插入,但未使用.umd.js 这是下载单个文件的网络选项卡屏幕截图。 当然,这个设置会下载很多单独的RxJS文件,因为它是单独读取文件的,而不是.umd.js 但是,与其他AngularJS文件一样,当我尝试使用单个umd.js文件时,会发生以下错误。 plunker尝试使用.umd.js和system.config.js systemjs.config.js var map
node_模块
或npmcdn.com
目录一起使用
已成功插入,但未使用.umd.js
这是下载单个文件的网络选项卡屏幕截图。
当然,这个设置会下载很多单独的RxJS文件,因为它是单独读取文件的,而不是.umd.js
但是,与其他AngularJS文件一样,当我尝试使用单个umd.js文件时,会发生以下错误。
plunker尝试使用.umd.js
和system.config.js
systemjs.config.js
var map = {
'app': 'app',
'@angular': 'https://npmcdn.com/@angular', // sufficient if we didn't pin the version
'@angular/router': 'https://npmcdn.com/@angular/router' + routerVer,
'@angular/forms': 'https://npmcdn.com/@angular/forms' + formsVer,
'@angular/router-deprecated': 'https://npmcdn.com/@angular/router-deprecated' + routerDeprecatedVer,
'angular2-in-memory-web-api': 'https://npmcdn.com/angular2-in-memory-web-api', // get latest
'rxjs': 'https://npmcdn.com/rxjs@5.0.0-beta.6/bundles',
'ts': 'https://npmcdn.com/plugin-typescript@4.0.10/lib/plugin.js',
'typescript': 'https://npmcdn.com/typescript@1.9.0-dev.20160409/lib/typescript.js',
};
//packages tells the System loader how to load when no filename and/or no extension
var packages = {
'app': { main: 'main.ts', defaultExtension: 'ts' },
'rxjs': { main: 'Rx.umd.js', defaultExtension: 'js' },
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
};
似乎“rxjs”根本没有使用“package”部分。
我看不出在packages部分使用rxjs
有什么区别
为了使这个plunker工作,我必须将map部分更改为以下内容,而不使用bundles
'rxjs': 'https://npmcdn.com/rxjs@5.0.0-beta.6',
我的问题是“有没有办法在Angular2应用程序中使用Rx.umd.js?”我查看了Rx.umd.js文件,似乎整个包都使用了相对路径导入。这意味着当rxjs包(在映射中)的底部具有/bundle后缀时,它无法找到文件 这很有意义,因为您使用的是实际的rxjs包,而不是它的“/bundles”目录 因此,您所要做的就是:
'rxjs': 'https://npmcdn.com/rxjs@5.0.0-beta.6/bundles',
到
'rxjs': { main: 'Rx.umd.js', defaultExtension: 'js' },
到
System.import('package-name');
而不是
import { someClass } from 'package-name';
请注意,当您使用plnkr时,plnkr并不总是跟踪对包定义的更改,您需要刷新页面。感谢并对您的答案进行了投票,但它甚至没有读取Rx.umd.js。没有包/rxjs,plnker仍然可以工作。我认为rxjs根本不使用
包/rxjs
。您得到解决方案了吗?
'rxjs': { main: 'bundles/Rx.umd.js', defaultExtension: 'js' },
System.import('package-name');
import { someClass } from 'package-name';