我想了解如何使用与Aurelia
一起使用的JSPM
插件。我想将它与WebPack
一起使用。该插件为Aurelia-Chart,在我的src
文件夹中.feature('aurelia-chart')
(在main.js
文件中)本地使用时效果很好但当然最终目标是使用它外部通过.plugin('aurelia-chart')
。
我认为最大的问题是该插件是通过位于index.js
下的node_modules\aurelia-chart\dist\commonjs\index.js
文件调用的。这个index.js
引用了更深层目录中的其他一些文件,我认为WebPack
正在迷失这些其他文件的路径。
在index.js
aurelia.globalResources("./elements/chart-element", "./attributes/chart-attribute");
我得到的错误是
Unhandled rejection Error: Cannot find module './aurelia-chart/elements/chart-element'.
我确实试图通过Aurelia Skeleton-Plugin从头开始创建插件,但即使是通过JSPM
构建(除非我误解)骨架,并且不能很好地处理WebPack
或RequireJS
。我还尝试删除所有文件夹并将路径引用更改为在同一文件夹中,但没有帮助。
我还发现此Github issue与我的问题非常相似,在问题结束时,该问题的答案是使用Resource and bundling configuration,如下所示:
// (package.json)
"aurelia": {
"build": {
"resources": [
{
"path": "users",
"bundle": "users",
"lazy": true
}
]
}
},
我尝试重复使用这段代码并将其更改为以下内容:
// (package.json)
"aurelia-chart": {
"build": {
"resources": [
"./~/aurelia-chart/dist/commonjs/elements/chart-element",
"./~/aurelia-chart/dist/commonjs/attributes/chart-attribute",
"./~/aurelia-chart/dist/commonjs/observers/model-observer"
]
}
}
我花了两天的时间尝试通过所有类型的捆绑过程使用.plugin('aurelia-chart')
在外部工作(我从aurelia-auth
,aurealia-authentication
,aurelia-animator-css
获取了示例。)但我的尝试都没有奏效。
请再次注意,它可以通过.feature('aurelia-chart')
在本地运行。我想帮助作者和社区使用这个伟大的插件(可能还有我自己的插件)。我已经打开了一个关于这个问题的Github issue,作者非常好,非常乐于助人,但对于如何使其成为像WebPack
或RequireJS
(CLI)这样的捆绑工作也毫无头绪。我希望有一个适用于WebPack
和新Aurelia CLI
的解决方案,以便进行捆绑。
答案 0 :(得分:3)
试试这个:
// (package.json)
"aurelia": {
"build": {
"resources": [
"aurelia-chart/elements/chart-element",
"aurelia-chart/attributes/chart-attribute"
]
}
},
答案 1 :(得分:0)
最新aurelia-cli(0.32.0)+ webpack使用chart.js 2.5.0并使用main.js中的全局资源
aurelia.use.plugin(PLATFORM.moduleName('aurelia-chart'));
aurelia.use.globalResources(PLATFORM.moduleName('aurelia-chart/elements/chart-element'));
aurelia.use.globalResources(PLATFORM.moduleName('aurelia-chart/attributes/chart-attribute'));