Aurelia:如何使用 npm 包中的 View/Viewmodel?
Aurelia: How to use a View/Viewmodel from an npm package?
我们在应用程序的前端使用 Aurelia。由于我们将有几个基于它的不同项目,我希望能够将我们所有的自定义代码添加到一些 npm 包中,这些包可以由开发人员添加。
这将允许我们创建一个新的空项目,将依赖项添加到我们的可重用代码中,而不将其包含在项目的代码库中(因此可以根据需要单独更新)。
比如我想要一个工具包和一个服务包。这当然很容易。
但我不知道如何使用包含所有自定义可重用组件的 'ui' 包。这可能吗?我如何在 html 模板中要求组件?
如果无法做到这一点,有没有人知道如何将可重用代码与应用程序特定代码完全分开?
非常感谢!
当然可以,这就是 aurelia 可用的许多插件所做的。
一种方法是将您的组件注册为全局资源(在您的包或插件中)并将它们导入您的客户端应用程序,CLI 示例:
// from your plugin
aureliaConfig.globalResources([
'./jqm-loader',
'./jqm-page',
'./jqm-footer',
'./jqm-header'
]);
然后将它们导入您的应用程序:
// aurelia.json
{
"name": "my-reusable-widgets",
"path": "../node_modules/my-reusable-widgets",
"main": "index",
"resources": [
"**/*.{css,html}" //to load them all or you can add individual files
]
}
然后使用您的小部件:
<jqm-loader></jqm-loader>
...
如果你不想使用 globalResources 你也可以使用 require:
<require from="my-reusable-widgets/jqm-header"></require>
<jqm-header></jqm-header>
我们在应用程序的前端使用 Aurelia。由于我们将有几个基于它的不同项目,我希望能够将我们所有的自定义代码添加到一些 npm 包中,这些包可以由开发人员添加。 这将允许我们创建一个新的空项目,将依赖项添加到我们的可重用代码中,而不将其包含在项目的代码库中(因此可以根据需要单独更新)。
比如我想要一个工具包和一个服务包。这当然很容易。
但我不知道如何使用包含所有自定义可重用组件的 'ui' 包。这可能吗?我如何在 html 模板中要求组件?
如果无法做到这一点,有没有人知道如何将可重用代码与应用程序特定代码完全分开?
非常感谢!
当然可以,这就是 aurelia 可用的许多插件所做的。 一种方法是将您的组件注册为全局资源(在您的包或插件中)并将它们导入您的客户端应用程序,CLI 示例:
// from your plugin
aureliaConfig.globalResources([
'./jqm-loader',
'./jqm-page',
'./jqm-footer',
'./jqm-header'
]);
然后将它们导入您的应用程序:
// aurelia.json
{
"name": "my-reusable-widgets",
"path": "../node_modules/my-reusable-widgets",
"main": "index",
"resources": [
"**/*.{css,html}" //to load them all or you can add individual files
]
}
然后使用您的小部件:
<jqm-loader></jqm-loader>
...
如果你不想使用 globalResources 你也可以使用 require:
<require from="my-reusable-widgets/jqm-header"></require>
<jqm-header></jqm-header>