Как добавить CDN с помощью Aurelia-CLI и RequireJS
Я пытаюсь добавить стороннее расширение, которое доступно только через CDN
, Как я мог добавить их в Aurelia-CLI
и / или Aurelia WebPack
проект?
Библиотека, которую я использую DataTables
и я получил его работать с Aurelia-CLI
изменив aurelia.json
файл, добавив это:
{
"name": "datatables",
"path": "../node_modules/datatables/media",
"main": "js/jquery.dataTables",
"deps": ["jquery"],
"exports": "$",
"resources": [
"css/jquery.dataTables.css"
]
},
Тогда в моей ViewModel
import $ from 'jquery';
import dataTable from 'datatables';
export class DataTableViewModel {
activate() {
//bind your data here
}
attached() {
$('#example').DataTable();
}
}
Но проблема, с которой я сталкиваюсь сейчас, заключается в добавлении расширения стилей ( тема DataTables Bootstrap 4).
Я пытался добавить CDN
внутри index.html
и даже если это не дает никаких ошибок, это, похоже, тоже не работает.
<body aurelia-app="main">
<script src="scripts/vendor-bundle.js" data-main="aurelia-bootstrapper"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.13/js/dataTables.bootstrap4.min.js">
</script>
</body>
Я также попытался добавить его в aurelia.json
файл конфигурации, добавив CDN
внутри paths
а затем использовать его в deps
но это тоже не работает.
"paths": {
"root": "src",
"resources": "src/resources",
"elements": "src/resources/elements",
"attributes": "src/resources/attributes",
"valueConverters": "src/resources/value-converters",
"bindingBehaviors": "src/resources/binding-behaviors",
"dataTablesBootstrap4": ["//cdn.datatables.net/1.10.13/js/dataTables.bootstrap4.min.js"]
},
...
{
"name": "datatables",
"path": "../node_modules/datatables/media",
"main": "js/jquery.dataTables",
"deps": ["jquery", "dataTablesBootstrap4"],
"exports": "$",
"resources": [
"css/jquery.dataTables.css"
]
},
Какие-либо предложения?
РЕДАКТИРОВАТЬ
Я только что нашел это Aurelia-CLI
проблема № 313, которая, вероятно, связана и может означать, что в настоящее время нет способов импорта CDN
,
1 ответ
Поскольку пакеты не загружаются лениво, и все они в любом случае объединяются в один и тот же пакет, вы можете просто добавить сценарий CDN в свой index.html
файл для достижения того же. Или вы можете вставить скрипт на страницу, где он вам нужен, по мере необходимости (вроде фальшивой ленивой загрузки).