2

我们使用 Aurelia 作为我们应用程序的前端。由于我们将有几个基于它的不同项目,我希望能够将我们所有的自定义代码添加到开发人员可以添加的一些 npm 包中。这将允许我们创建一个新的空项目,将依赖项添加到我们的可重用代码中,而无需将其包含在项目的代码库中(因此可以在需要时单独更新)。

例如,我想要一个工具包和一个服务包。这当然很容易。

但我不知道如何使用包含我们所有自定义可重用组件的“ui”包。这甚至可能吗?我如何在 html 模板中需要一个组件?

如果无法做到这一点,是否有人知道如何将可重用代码与应用程序特定代码完全分开?

多谢!

4

1 回答 1

1

当然可以,这就是 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>
于 2017-02-07T10:31:10.037 回答