Как добавить 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 файл для достижения того же. Или вы можете вставить скрипт на страницу, где он вам нужен, по мере необходимости (вроде фальшивой ленивой загрузки).

Другие вопросы по тегам