Проблема вызвана ошибкой в squel.js , которая не позволяет использовать ее после минимизации.
Решение (обходной путь)
1) Включить sqlite каксценарий в angular.json
вместо использования import
путем добавления его в массив scripts
projects.myAppName.architect.build.options
:
"scripts": [
"node_modules/squel/dist/squel.min.js"
]
Сделайте то же самое для projects.myAppName.architect.test.options
, чтобы исправить также и модульные тесты.
2) Теперь с рабочим комплектом все в порядке, но мы должны исправить типирование, чтобы компилятор ts тоже работал.
Поскольку мы удалили:
import * as squel from 'squel';
Все типы, такие как squel.Insert
, будут разбиты.
Нам нужно добавить:
declare const squel: Squel & {flavour: null};
Теперь все типы, такие как squel.Insert
, squel.Delete
и т. Д ... будутзаменить на Insert
, Delete
и т. д. и, конечно же, нам нужно импортировать их:
import { Squel, Delete, Insert } from 'squel';
Таким образом, мы используем import
только для импорта определений типов, а не всегобиблиотека.
Пример
https://github.com/azerothcore/Keira3/commit/98f191eb59cf9c853dd8a54a845a029c7a4ddef8