Я ищу лучший способ организовать свою базу кода с общими ресурсами, совместно используемыми между различными проектами. У меня три приложения aurelia. В каждом из них я добавил несколько ресурсов в папку ресурсов (пользовательские элементы, атрибуты и т. Д.). Когда мне было нужно, чтобы он уже писал в другом проекте, я просто вложил его. Теперь у меня есть время для рефакторинга, я бы хотел переместить все эти ресурсы в выделенный репозиторий. Затем я хочу иметь возможность выбирать только те ресурсы, которые мне нужны в каждом проекте.Внешние ресурсы Aurelia
Я попытался разместить все ресурсы в репо с задачей сборки gulp из каркаса aurelia, которые позволяют мне создавать модули AMD всех моих модулей. Затем я смог загрузить некоторые модули отдельно, добавив их в aurelia.json. Для Exemple для атрибута:
{
"name": "aurelia-resources-progress-button",
"path": "../node_modules/SHG-aurelia-resources/dist/amd/resources/attributes",
"main": "progress-button"
}
или пользовательского элемент:
{
"name": "aurelia-resources-avatar-upload",
"path": "../node_modules/SHG-aurelia-resources/dist/amd/resources/elements/avatar-upload",
"main": "avatar-upload",
"resources": [
"avatar-upload.html",
"avatar-upload.css"
]
}
Он работал как шарм, но он не для преобразователя значений, который импортировать модуль из относительного пути. Файл находится в:
"projectRoot/node_modules/SHG-aurelia-resources/dist/amd/resources/value-converters/duration-format.js", it import from '../utils./strings'
и
Я получаю следующее сообщение об ошибке, когда я Àu запустить:
"Error: ENOENT: no such file or directory, open '/Users/hadrien/Documents/dev/SportHeroes/united-heroes/src/resources/utils/strings.js'".
странное дело, когда мне требуется относительный модуль из шаблона (например, в пользовательском атрибуте кнопки прогресса) нет проблем.
Я не хочу создавать плагин, потому что я не хочу загружать все модули своего репо. Я бы хотел, если бы это было возможно, было бы иметь возможность устанавливать .feature ('../node_modules/path/resources')
и загружать их, как я загружаю свои локальные ресурсы.
Что мне делать?
Почему вы не хотите использовать плагин? API для плагина и функции практически одинаковы. Вы уже распространяете ресурсы через пакеты NPM, поэтому правильный способ сделать это через API плагина. –
Потому что я не хочу загружать все модули. Представьте, что у меня есть 10 модулей в моих внешних ресурсах.Приложение A использует 10, я мог бы использовать плагин. Но приложение B использует только 2 модуля, я хочу загрузить только эти два. –
При использовании плагина вам не нужно «загружать каждый модуль». –