我们创建了一个插件,它的本地演示工作。
https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/src
但是,将插件安装到另一个项目中会失败,并出现这两个错误,它们抱怨open-id-connect-user-block.html
view/view-model 组件。
未捕获的类型错误: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
。