2017-02-07 11 views
1

Мы используем Aurelia для интерфейса нашего приложения. Поскольку у нас будет несколько различных проектов, основанных на этом, я хотел бы иметь возможность добавить весь наш пользовательский код к некоторым пакетам npm, которые могут быть добавлены разработчиками. Это позволило бы нам создать новый пустой проект, добавить зависимости к нашему многоразовому коду без включения его в базу кода проекта (поэтому при необходимости он может быть обновлен отдельно).Aurelia: Как использовать View/Viewmodel из пакета npm?

Например, мне нужен пакет инструментов и пакет услуг. Это, конечно, довольно легко.

Но я не могу понять, как использовать пакет «ui», который будет содержать все наши пользовательские повторно используемые компоненты. Возможно ли это? Как мне потребовать компонент в html-шаблоне?

Если это невозможно, есть ли у кого-нибудь представление о том, как чисто отделить код повторного использования от кода приложения?

спасибо большое!

ответ

1

, конечно, вы можете, вот что такое плагины для аурелии. Один из способов зарегистрировать свои компоненты в качестве глобальных ресурсов (в пакете или плагин) и импортировать их в клиентском приложении, 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 from="my-reusable-widgets/jqm-header"></require> 
<jqm-header></jqm-header> 
+0

Большое спасибо! Я получил аналогичный ответ с официального канала Gitter, но вы очень тщательно разбираетесь. У меня все еще есть некоторые проблемы с использованием моего плагина, поскольку я получаю «ошибку скрипта», когда компонент загружен, но я думаю, что я должен найти свой путь. – Gaet