У меня есть успешное приложение, использующее Aurelia, однако я разработал его с помощью VSCode и скелета, который дает вам Aurelia. Теперь, когда CLI доступен, я пытаюсь перенести приложение в проект VS2015/Asp.net Core, но у меня возникают некоторые трудности.Как импортировать пакеты в мое приложение Aurelia
В проекте VSCode есть файл bundles.js в папке сборки, которую Gulp использует для его компиляции (из того, что я понимаю). В этом файле есть раздел «dist/aurelia», и именно там я помещаю все дополнительные пакеты, которые мне нужно импортировать, и он будет импортировать файлы css и js. Похоже, это:
"dist/aurelia": {
"includes": [
"aurelia-framework",
"aurelia-bootstrapper",
"aurelia-fetch-client",
"aurelia-router",
"aurelia-animator-css",
"aurelia-templating-binding",
"aurelia-polyfills",
"aurelia-templating-resources",
"aurelia-templating-router",
"aurelia-loader-default",
"aurelia-history-browser",
"aurelia-logging-console",
"bootstrap",
"bootstrap/css/bootstrap.css!text",
"fetch",
"jquery",
"rstacruz/nprogress",
"moment",
"systemjs/plugin-text/*.js",
"components/jqueryui",
"quilljs",
"rich-text",
"util",
"signalr"
],
"options": {
"inject": true,
"minify": true,
"depCache": false,
"rev": false
}
}
Однако, когда я использую команду au new --here
создать новый проект в VS2015, генерируемый проект выглядит немного по-другому. У меня есть папка aurelia_project, и внутри это выглядит так, что это происходит во всем здании/компиляции. В этой папке есть файл aurelia.json, и мне нужно поставить все пакеты (я использую NPM btw). Мне сказали. Когда я пытаюсь импортировать эти пакеты, он автоматически добавляет .js к пути к файлу и полностью исключает CSS, поэтому он не загружает мой CSS при загрузке страницы. Вот что aurelia.json выглядит следующим образом:
"dependencies": [
"aurelia-binding",
"aurelia-bootstrapper",
"aurelia-dependency-injection",
"aurelia-event-aggregator",
"aurelia-framework",
"aurelia-history",
"aurelia-history-browser",
"aurelia-loader",
"aurelia-loader-default",
"aurelia-logging",
"aurelia-logging-console",
"aurelia-metadata",
"aurelia-pal",
"aurelia-pal-browser",
"aurelia-path",
"aurelia-polyfills",
"aurelia-route-recognizer",
"aurelia-router",
"aurelia-task-queue",
"aurelia-templating",
"aurelia-templating-binding",
{
"name": "text",
"path": "../wwwroot\\scripts/text"
},
{
"name": "aurelia-templating-resources",
"path": "../node_modules/aurelia-templating-resources/dist/amd",
"main": "aurelia-templating-resources"
},
{
"name": "aurelia-templating-router",
"path": "../node_modules/aurelia-templating-router/dist/amd",
"main": "aurelia-templating-router"
},
{
"name": "aurelia-testing",
"path": "../node_modules/aurelia-testing/dist/amd",
"main": "aurelia-testing",
"env": "dev"
},
{
"name": "jquery",
"path": "../node_modules/jquery/dist/jquery.min"
},
{
"name": "bootstrap",
"path": "../node_modules/bootstrap/dist/js/",
"main": "bootstrap"
}
]
}
Итак, я мой VSCode проект, я импортировал самозагрузки CSS на странице HTML с помощью тега требуется. Это все-таки правильный способ сделать что-то? Если да, как мне исправить эту проблему с импортом?
EDIT
Ответ ниже помог бы получить немного дальше. Теперь проект строит и запускает без каких-либо ошибок, однако я не могу правильно загрузить загрузочный CSS-код.
Вот отрывок из моего нового файла aurelia.json:
{
"name": "aurelia-testing",
"path": "../node_modules/aurelia-testing/dist/amd",
"main": "aurelia-testing",
"env": "dev"
},
"jquery",
{
"name": "bootstrap",
"path": "../node_modules/bootstrap/dist/js",
"main": "bootstrap",
"resources": [
"../css/*.css"
]
}
Так что это добавление файла CSS в загрузочный пакет. Теперь, в моем файле машинописных файлов, я звоню import 'jquery'
и import 'bootstrap'
, и я еще не получаю css. Не знаете, как это исправить.
Это помогает. Теперь я получил его, чтобы скомпилировать js и css в файле aurelia.json, и он загружает страницу без каких-либо ошибок. Тем не менее, у меня все еще есть проблемы с требованием css. Я добавляю зависимость bootstrap с помощью пути «../node_modules/bootstrap/dist/js» и ресурсов «../css/*.css». В моей модели просмотра у меня есть «import jquery» и «import bootstrap», и это, похоже, не импортирует css. 'Import bootstrap' должен импортировать как css, так и js-файлы, правильно? – James
Нет, нет. Я сказал, что SystemJS может обнаруживать некоторые зависимости и автоматически загружать их (в зависимости от конфигурации модуля). Если вы используете CLI (RequireJS в вашем случае), вам нужно импортировать все файлы css –
Я считаю, что я это сделал. Проверьте отредактированный вопрос. Я опубликовал некоторые фрагменты пересмотренного файла aurelia.json. – James