JSPMに大きな不満を抱いていますが、これは多くの最新の問題です。JSPMマップパスを正しく再配置しない依存関係について
私は経由JSPM経由angularfire2
をインストールした - が@angular
依存関係をインストールしているはずである(はい、SUDOがSUDOないと動作しません!!。)sudo jspm install npm:angularfire2
。生成されたパッケージJSONはthis-
"jspm": {
"dependencies": {
"angularfire2": "npm:[email protected]^2.0.0-beta.2"
},
"devDependencies": {
"typescript": "npm:[email protected]^1.8.10"
}
}
のように見え、私はそれが正しくangularfire2.js
をインポート参照アプリケーションのページを更新したときに発生する設定がthis-
System.config({
baseURL: "/",
defaultJSExtensions: true,
transpiler: "typescript",
typescriptOptions: {
"emitDecoratorMetadata": true
},
paths: {
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*"
},
packages: {
"app": {
"main": "./app.ts",
"defaultExtension": "ts"
}
},
map: {
"angularfire2": "npm:[email protected]",
"typescript": "npm:[email protected]",
...
"npm:[email protected]": {
"@angular/common": "npm:@angular/[email protected]",
"@angular/compiler": "npm:@angular/[email protected]",
"@angular/core": "npm:@angular/[email protected]",
"@angular/platform-browser": "npm:@angular/[email protected]",
"@angular/platform-browser-dynamic": "npm:@angular/[email protected]",
"firebase": "npm:[email protected]",
"rxjs": "npm:[email protected]"
}
...
}
});
のように見えるので、その後、インポートしよう。しかし、それがインポートしようとしているアドレスはhttp://localhost:8000/@angular/platform-browser-dynamic.js
です。間違ったパスです!私はそれが私のapp.ts
の最初の行(そしてアプリケーションの出発点)にこの行-を持っているからだと思います。しかし、なぜJSPMはこれを正しくマップしていないのですか?これらのパッケージを個別にインストールする必要はありますか?もしそうなら、パッケージの依存関係はどうしてですか?
期待どおり:このインポートを解決するときは、/jspm_packages/npm/**
アドレスを解決する必要があります。
Got:SystemJSは、Webルート/
からパッケージをロードしようとします。