Я пытаюсь добавить стороннее расширение, доступное только через CDN
. Как я могу добавить их в проект Aurelia-CLI
и/или Aurelia WebPack
?Как добавить CDN с Aurelia-CLI и RequireJS
Библиотека, что я использую 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 theme).
Я попытался добавить 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"
]
},
Любые предложения?
EDIT
Я только что нашел этот Aurelia-CLI
issue #313, который, вероятно, связано и может означать, что в настоящее время нет способов импорта CDN
.
Спасибо Dwayne, я думал, что это невозможно, но, возможно, я не пробовал это правильно. Однако, делая это, разве это не происходит в глобальной переменной? Нет никакого способа сделать, как «import», добавив их в 'index.html', это правильно? – ghiscoding