支持的平台
本页面由 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 版本开始,为了支持在 Node.js 项目中使用 Webpack,这一设置被移除了。这意味着必须使用 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
请参阅官方 Capacitor 文档中的在 Capacitor 驱动类型中使用 TypeORM。
Cordova / Ionic 应用
TypeORM 能够使用 cordova-sqlite-storage 插件在 Cordova/Ionic 应用中运行。您可以像在浏览器包中一样选择模块加载器。有关在 Cordova 中使用 TypeORM 的示例,请参阅 typeorm/cordova-example;有关在 Ionic 中使用的示例,请参阅 typeorm/ionic-example。重要提示:在 Ionic 中使用时,需要自定义 webpack 配置文件!请查看示例以了解所需的更改。请注意,当前使用 cordova-sqlite-storage 插件时不支持事务。有关更多信息,请参阅 Cordova SQLite 的限制。
Expo
TypeORM 能够使用 Expo SQLite API 在 Expo 应用中运行。有关在 Expo 中使用 TypeORM 的示例,请参阅 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。