Я хочу создать пользовательскую тему с семантикой-ui, но у них нет официальной поддержки Aurelia, и после npm install semantic-ui --save
появляется много нежелательных ошибок. Я хочу получить четкий ответ и код зависимости aurelia.json для семантики. Благодарю.Как интегрировать семантический интерфейс с Aurelia-Cli?
ответ
1. aurelia.json зависимость
"dependencies": [
...,
{
"name": "semantic-ui",
"path": "../node_modules/semantic-ui/dist",
"main": "semantic.min.js",
"resources": [
"semantic.min.css"
]
}
]
Примечание стороны: вы может также перечислить зависимости с использованием значения "deps"
. Сначала попробуйте это без этого, и если вам нужно, вы можете увидеть, какие другие библиотеки требуется для этого репо.
2. Импорт JavaScript файл
В любом app.js
или каждый вид-модель вы будете использовать библиотеку, используйте один этого импорта (попробуйте их по одному за раз, один из них, скорее всего, будут работать).
import * from 'semantic-ui';
import 'semantic-ui';
3. Требовать CSS
В любом app.html
или в каждый вид вы будете использовать библиотеку, используйте следующие требуют заявление.
<template>
<require from="semantic-ui/semantic.min.css"></require>
<!-- rest of your code here -->
</template>
4. Наследие предварять
Если ни один из перечисленных выше работ, не импортировать его в качестве унаследованного репо с использованием prepend
раздел aurelia.json
(перед секцией dependencies
), как это:
"prepend": [
// probably a couple other things already listed here...
"node_modules/semantic-ui/dist/semantic.min.js"
],
Для меня работает, но браузер не может найти файлы шрифтов. Должен ли путь к шрифтам размещаться где-то в конфиге? –
Во-первых: Если вам не нужно настраивать семантический интерфейс, вы можете упростить, используя предварительно построенный пакет, загружаемый как ZIP. См. Semantic UI «Начало работы» для этой подсказки.
Это не шикарно, но это работает:
Я предполагаю, что вы хотите, чтобы завершить пакет с автоматической сборки и все. Это дает возможность настроить, изменять темы и т.д.
Эти проблемы я вижу:
- Семантический UI использует глотком 3.x, который является официальной версией, в то время как Aurelia CLI использует Глоток 4 , который находится в альфа. Это дает ошибки, если вы попробуете
npm install
Семантик в проект Aurelia. - Импорт файлов CSS/JS в
aurelia.json
работает только с версиейnode_modules/semantic-ui/dist
- не встроенная версияsemantic/dist
, что означает, что ваши настройки не включаются.
Мое решение/обходной путь:
Установка Semantic UI в отдельной папке, например,
aurelia_project_root/SUI
. Решает проблему версии Gulp. Теперь вы можете использоватьgulp build
свой семантический дистрибутив из этого каталога. Примечание. Вам необходимо создать папку вне проекта Aurelia, а затем перенести ее в качестве подпапки корня проекта Aurelia. Это дает локальную версию Gulp внутри SUI/node_modules.Редактировать
aurelia.json
добавить СУЙ и JQuery:"jquery", { "name": "semantic-ui", "path": "../SUI/node_modules/semantic-ui/dist", "main": "semantic.min.js", "resources": [ "semantic.min.css" ] }
Чтобы установить JQuery: npm install jquery --save
.
Edit semantic.json
в ГУИ изменить выходные каталоги, чтобы сохранить встроенные файлы в node_modules:
"output": {
"packaged": "..\\node_modules\\semantic-ui\\dist\\",
"uncompressed": "..\\node_modules\\semantic-ui\\dist\\components\\",
"compressed": "..\\node_modules\\semantic-ui\\dist\\components\\",
"themes": "..\\node_modules\\semantic-ui\\dist/themes/"
},
Это из-за проблемы 2 - что Aurelia CLI только способен импортировать СУЙ до тех пор, как это внутри node_modules (возможно, что-то я делаю неправильно).
Затем рабочий процесс становится:
- изменения SUI свойства
- сборки SUI (
gulp build
внутри SUI/семантический) - сборки/запуска Aurelia (
au build
)
Конечно, вы может обновить ваши задачи глотки в aurelia, чтобы улучшить этот рабочий процесс.
Вам также потребуется связать или скопировать шрифты/png. Пока я только что связал это, ln -s path-to-dist/themes themes
от вас папка проекта Aurelia.
Ваш HTML:
<require from="semantic-ui/semantic.min.css"></require>
...
<select ref="states" class="ui fluid search dropdown" multiple="">
<option value="">State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
...
</select>
Code-за:
import * as $ from 'jquery' // import $ from 'jquery';
import 'semantic-ui';
attached() {
$(this.states).dropdown()
}
Это должно дать вам очень крутая раскрывающийся.
- 1. Как использовать семантический интерфейс CDN?
- 2. Семантический интерфейс в .gitignore
- 3. Семантический интерфейс и переполнение
- 4. Семантический интерфейс: как AutoClose Modal?
- 5. Семантический интерфейс - Изменить тему
- 6. Как настроить семантический интерфейс с меньшим
- 7. Семантический интерфейс и сетчатая система
- 8. Семантический интерфейс - Следующий пример меню
- 9. Семантический интерфейс не работает вообще
- 10. Семантический интерфейс для приложений Кордовы?
- 11. Семантический интерфейс не отображается Текст
- 12. Семантический интерфейс - выбор не работает
- 13. Семантический пользовательский интерфейс не работает
- 14. Семантический интерфейс с React и ES6 импорт
- 15. NPM отказ установить семантический-интерфейс
- 16. Семантический интерфейс: карты рядом друг с другом?
- 17. Как пространство имен или префикс Семантический интерфейс?
- 18. Микросервисы: как интегрировать пользовательский интерфейс?
- 19. Как интегрировать пользовательский интерфейс yahoo с cakePHP
- 20. Как обновить Семантический интерфейс после добавления нового контента с AJAX
- 21. Интеграция React-семантический-интерфейс и Redux-форма
- 22. Семантический интерфейс - Почему нет сообщения внутри формы?
- 23. Семантический интерфейс боковой панели и раскрывающееся меню
- 24. Семантический интерфейс: правая выровненная/плавающая кнопка
- 25. Угловой 2 + Семантический интерфейс, развязка компонентов инкапсуляции
- 26. Семантический интерфейс - добавление логики вокруг окна поиска
- 27. Семантический интерфейс: переопределение переменной в site.variables
- 28. Семантический выравниваемый интерфейс пользователя в интерфейсе пользователя?
- 29. Семантический интерфейс - вход форма заполняет всю страницу
- 30. Семантический интерфейс не способен отображать 10k строк
Каковы ошибки, которые вы получаете? – LStarky
@LStarky Невозможно прочитать свойство «apply» of undefined at aurelia-cli/lib/commands/gulp.js: 72 [return original.apply (gulp, args);] – deviprsd21
Попробуйте решение ниже? – LStarky