プラグインを作成しました。そのローカル デモが動作します。
https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/src
ただし、プラグインを別のプロジェクトにインストールすると、この一連の 2 つのエラーで失敗します。これは、open-id-connect-user-block.html
view/view-model コンポーネントに関する問題です。
キャッチされていない TypeError: plugin.load は関数ではありません
未処理の拒否エラー: モジュールの読み込みタイムアウト: template-registry-entry!aurelia-open-id-connect/open-id-connect-user-block.html_unnormalized2,template-registry-entry!aurelia-open-id-connect/open -id-connect-user-block.html,text!aurelia-open-id-connect/open-id-connect-user-block.html_unnormalized3,text!aurelia-open-id-connect/open-id-connect-user -block.html http://requirejs.org/docs/errors.html#timeout
私たちが試したこと
コンポーネントをグローバル リソースとしてプラグインのconfigure
関数に追加します。
function configure(config: FrameworkConfiguration, callback: Function) {
config.globalResources("./open-id-connect-user-block");
}
消費するアプリケーションのconfigure
関数にプラグインを追加します。
export function configure(aurelia: Aurelia) {
aurelia.use
.standardConfiguration()
.plugin("aurelia-open-id-connect", (callback) => callback(oidcConfig));
aurelia.start().then(() => aurelia.setRoot());
}
消費するアプリケーションのaurelia.json
ファイルにプラグインを追加します。
"bundles": [
{
"name": "open-id-bundle.js",
"dependencies": [
"oidc-client",
{
"name": "aurelia-open-id-connect",
"path": "../node_modules/aurelia-open-id-connect/dist/amd/es5/open-id-connect",
"main": "index"
}
]
},
// other bundles
]
requirejs/text
プラグインを に設定しますstub:false
。
"plugins": [
{
"name": "text",
"extensions": [
".html",
".css"
],
"stub":false
}
これにより、404 の新しいエラーが作成されます。
未処理の拒否エラー: src/../node_modules/aurelia-open-id-connect/dist/amd/es5/open-id-connect/open-id-connect-user-block.html HTTP ステータス: 404
私たちが読んだこと
GitHub でこの問題を確認しました:通常の Aurelia プラグインをインストールしています。
- 2016 年 7 月 3 日、Aurelia CLI は HTML テンプレートを含むプラグインをサポートしません。
- 7 月 17 日、バージョン 0.16.1 で動作するはずでした。0.18.0 を使用していますが、動作しません。
- 7 月 28 日、テキストを動的に要求する
stub:false
には、text
プラグインでの設定が必要ですaurelia.json > build.loader.plugins
。