Поддерживаемые платформы
Эта страница переведена PageTurner AI (бета). Не одобрена официально проектом. Нашли ошибку? Сообщить о проблеме →
NodeJS
TypeORM совместим с Node.js 16+ и каждый коммит в настоящее время тестируется на Node.js 18 и 20.
Браузер
В браузере вы можете использовать sql.js.
Конфигурация Webpack
В папке browser пакет также содержит версию, скомпилированную как модуль ES2015. Если вы хотите использовать другой загрузчик, это точка входа. До версии TypeORM 0.1.7 пакет был настроен так, что загрузчики вроде webpack автоматически использовали папку browser. Начиная с 0.1.7 это поведение было изменено для поддержки использования Webpack в проектах Node.js. Это означает, что для загрузки корректной версии в браузерных проектах необходимо использовать NormalModuleReplacementPlugin. Конфигурация этого плагина в вашем файле webpack выглядит так:
plugins: [
..., // any existing plugins that you already have
new webpack.NormalModuleReplacementPlugin(/typeorm$/, function (result) {
result.request = result.request.replace(/typeorm/, "typeorm/browser");
}),
new webpack.ProvidePlugin({
'window.SQL': 'sql.js/dist/sql-wasm.js'
})
]
и убедитесь, что файл sql-wasm.wasm доступен в вашей публичной директории.
Пример конфигурации
new DataSource({
type: "sqljs",
entities: [Photo],
synchronize: true,
})
Не забудьте подключить reflect-metadata
В вашем основном HTML-файле необходимо подключить reflect-metadata:
<script src="./node_modules/reflect-metadata/Reflect.js"></script>
Capacitor
См. Использование TypeORM с драйвером Capacitor в официальной документации Capacitor.
Приложения Cordova / Ionic
TypeORM может работать в приложениях Cordova/Ionic с использованием плагина cordova-sqlite-storage. Вы можете выбирать между загрузчиками модулей, как и в браузерной версии. Пример использования TypeORM в Cordova см. в typeorm/cordova-example, а для Ionic — в typeorm/ionic-example. Важно: Для работы с Ionic требуется пользовательский конфигурационный файл webpack! Изучите примеры для ознакомления с необходимыми изменениями. Обратите внимание, что в настоящее время отсутствует поддержка транзакций при использовании плагина cordova-sqlite-storage. Подробнее см. в ограничениях Cordova SQLite.
Expo
TypeORM может работать в приложениях Expo с использованием Expo SQLite API. Пример использования см. в typeorm/expo-example.
NativeScript
-
tns install webpack(ниже объясняется, почему требуется webpack) -
tns plugin add nativescript-sqlite -
Создайте DataSource в точке входа вашего приложения
import driver from "nativescript-sqlite"
const dataSource = new DataSource({
database: "test.db",
type: "nativescript",
driver,
entities: [
Todo, //... whatever entities you have
],
logging: true,
})
Примечание: Работает только с NativeScript 4.x и выше
При использовании с NativeScript обязательно применение webpack. Пакет typeorm/browser содержит сырой ES7-код с import/export, который НЕ будет работать в исходном виде. Его необходимо собрать. Используйте метод tns run --bundle
Пример доступен здесь!
React Native
TypeORM может работать в приложениях React Native с помощью плагина react-native-sqlite-storage. Пример использования смотрите в проекте typeorm/react-native-example.