В том числе bootstrap css в Aurelia
Я новичок в Aurelia и падаю на первое препятствие.
Я создал новый проект с использованием aurelia cli и решил использовать меньше.
Это отлично работает, пока я не попытаюсь использовать бутстрап. Я установил bootstrap с npm, который появляется в node_modules/bootstrap/
Это имеет структуру каталогов
dist fonts grunt Gruntfile.js js less LICENSE package.json README.md
В каталоге dist есть файлы css.
В моем шаблоне я делаю
Ошибка, которую я получаю,
Необработанное отклонение Ошибка: не удалось загрузить требуемый файл CSS: bootstrap/css/bootstrap.css
Как сообщить Aurelia, где находятся загрузочные файлы css и как их использовать?
Спасибо
Ответы
Ответ 1
Мы все еще работаем над возможностью CLI импортировать библиотеки в проект и правильно их настроить для объединения. Помните, что это альфа. В будущем у нас будут значительные улучшения. В то же время помните, что вы всегда можете использовать традиционные методы для включения библиотек, если не уверены, что делать. Таким образом, я бы просто добавил тег стиля на вашу html-страницу и тег script, просто указав на расположение файлов в папке ваших пакетов.
Это основной прецедент для нас, мы еще не разработали все возможности импорта библиотеки. Мы рассмотрим это в ближайшее время.
Ответ 2
Я обнаружил одну простую вещь. Каждый раз, когда вы изменяете файл aurelia.json, вам нужно завершить задачу au run --watch
, запустить его снова, и он просто сработает.
Я не нашел это в документации.
Надеюсь, что это поможет.
Ответ 3
Существует решение для загрузочного бутстрапа, загруженного с npm:
-
app.html:
<require from="bootstrap/css/bootstrap.css"></require>
-
package.json вы должны добавить:
"overrides": {
"npm:[email protected]^3.0.0": {
"format": "amd"
}
}
-
aurelia.json(папка aurelia_project), которую вы должны добавить в конце пакета app-bundle.js:
"dependencies": [
"jquery",
{
"name": "bootstrap",
"path": "../node_modules/bootstrap/dist",
"main": "js/bootstrap.min",
"deps": ["jquery"],
"exports": "$",
"resources": [
"css/bootstrap.css"
]
}
]
Он должен выглядеть так:
"bundles": [
{
"name": "app-bundle.js",
"source": [
"[**/*.js]",
"**/*.{css,html}"
],
"dependencies": [
"jquery",
{
"name": "bootstrap",
"path": "../node_modules/bootstrap/dist",
"main": "js/bootstrap.min",
"deps": ["jquery"],
"exports": "$",
"resources": [
"css/bootstrap.css"
]
}
]
},
Это работает для меня.
Ответ 4
Использование Aurelia CLI
Сначала, установите в свой проект следующее:
- au install jquery @2
- au install bootstrap
Второй, в aurelia.json добавьте эту строку в пакеты: vendor-bundle.js
"jquery",
{
"name": "bootstrap",
"path": "../node_modules/bootstrap/dist",
"main": "js/bootstrap.min",
"deps": [
"jquery"
],
"resources": [
"css/bootstrap.css"
],
"exports": "$"
}
Затем добавьте следующие шрифты после зависимостей
"copyFiles": {
"node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2": "bootstrap/fonts",
"node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff": "bootstrap/fonts",
"node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf": "bootstrap/fonts"
}
Третий, после установки импорта/установки. Теперь вы можете ссылаться на него внутри вашего app.html
<require from="bootstrap/css/bootstrap.css"></require>
Или просто добавьте его как globalResources внутри main.ts
aurelia.use
.standardConfiguration()
.feature('resources')
.globalResources('bootstrap/css/bootstrap.css');
Для получения дополнительной информации о au install/import
проверьте здесь или добавьте библиотеку в расслоения.
Ответ 5
Я обнаружил, что мне пришлось изменить путь boostrap css в app.html на путь, ожидаемый для Bootstrap 4, согласно комментарию к Aurelia Discourse:
из этого:
<require from="bootstrap/css/bootstrap.css"></require>
к этому:
<require from="bootstrap/dist/css/bootstrap.css"></require>
Ответ 6
Если вы находитесь здесь в июле 2019 года, ответ @davidjmcclelland - это то, что сработало для меня. После установки начальной загрузки просто включите
require from=bootstrap/dist/css/bootstrap.css>
в ваш app.html. Никаких настроек не требуется.