我们在应用程序的前端使用 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>
关于javascript - Aurelia:如何使用 npm 包中的 View / View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086539/