打包和重用 Aurelia View ViewModel 组件

Packaging and Reusing Aurelia View ViewModel Components

我有一个通过模板使用的基本小部件(widget.jswidget.htmlwidget.css):

<template>
  <require from="./widget"/>
  <widget/> 
</template>

我需要采取哪些步骤才能跨 aurelia 项目重用此组件?

我以前没有制作过包,但我的理解是简单地将 widget.js、widget.html 和 widget.css 提交到 github 存储库,然后定义一个 JSPM 包。我知道我可以定义 main="widget.js",但我不确定我是否也可以打包 html 文件。我也不知道 aurelia 是否可以 "require" 来自 jspm 包的模板。

要重用这样的组件,您可以创建一个 Aurelia 插件。插件基本上是一些可重复使用的部分,可以是跨应用程序共享的单个代码库。

您可以从此骨架启动您的插件 -

https://github.com/aurelia/skeleton-plugin

简而言之,您需要做的就是下载插件源代码,并在 src 文件夹中将 hello-world.jshello-world.html 替换为您的自定义代码。

index.js是插件的configure方法实现的地方。在这里您可以将其提供给消费者。通常,大多数插件使用 globalizeResources 这样您就可以防止消费者在使用它的每个视图中都必须 require 它,但这取决于您,因为它是您的插件:)