Как загрузить RxJS (и zone.js /lect-metadata) с Angular 2 (бета-версия и новее)?
По состоянию на Angular 2 Alpha 54 (изменений),RxJS
больше не входит в Angular 2.
Обновление: оказывается, чтоzone.js
а такжеreflect-metadata
также исключены.
В результате теперь я получаю следующие ошибки (как видно из консоли разработчика Chrome):
system.src.js:4681 GET http://localhost:3000/rxjs/Subject 404 (Not Found)F @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681
system.src.js:4681 GET http://localhost:3000/rxjs/observable/fromPromise 404 (Not Found)F @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681
localhost/:1 Uncaught (in promise) Error: XHR error (404 Not Found) loading http://localhost:3000/rxjs/Subject(…)t @ system.src.js:4681g @ system.src.js:4681(anonymous function) @ system.src.js:4681
system.src.js:4681 GET http://localhost:3000/rxjs/operator/toPromise 404 (Not Found)F @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681(anonymous function) @ system.src.js:4681
system.src.js:4681 GET http://localhost:3000/rxjs/Observable 404 (Not Found)
я имеюRxJS
в моем файле package.json (^ 5.0.0-beta.0), и он был установлен сnpm
, но проблема в том, что я просто недостаточно знаком сSystemJS
в это время, чтобы все заработало. Вот часть тела от моегоindex.html
файл:
<body>
<app></app> <!-- my main Angular2 tag, which is defined in app/app as referenced below -->
<script src="../node_modules/systemjs/dist/system.js"></script>
<script src="../node_modules/typescript/lib/typescript.js"></script>
<script src="../node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="../node_modules/angular2/bundles/http.dev.js"></script>
<script>
System.config({
packages: {'app': {defaultExtension: 'js'}}
});
System.import('./app/app');
</script>
<script src="http://localhost:35729/livereload.js"></script>
</body>
Я играл с другими конфигурациями, но ни одна не добралась до меня. Я предполагаю, что это относительно просто, просто мое отсутствие понимания или то, как используются инструменты, останавливает меня.
Вот мой файл app.ts, который являетсяapp/app
упоминается в конфигурации SystemJS:
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {COMMON_DIRECTIVES} from 'angular2/common';
@Component({
selector: 'app',
directives: [],
template: `<div>{{greeting}}, world!</div>`
})
export class App {
greeting:string = 'Hello';
}
bootstrap(App, [COMMON_DIRECTIVES]);
Я подаю приложение с живой перезагрузкойExpress
сервер, который использует статические сопоставления, так что звонки, какhttp://localhost:3000/node_modules/rxjs/Rx.js
в состоянии получить необходимый файл, даже еслиindex.html
подается из/src
в качестве корня сервера иnode_modules
на самом деле на том же уровне, что иsrc
а не внутри.
Любая помощь, как всегда, будет оценена.