Vai al contenuto principale

Piattaforme supportate

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

NodeJS

TypeORM è compatibile con Node.js 16+ e attualmente ogni commit viene testato su Node.js 18 e 20.

Browser

Puoi utilizzare sql.js nel browser.

Configurazione Webpack

Nella cartella browser il pacchetto include anche una versione compilata come modulo ES2015. Se vuoi utilizzare un loader diverso, questo è il punto di partenza. Prima di TypeORM 0.1.7, il pacchetto era configurato in modo che loader come webpack utilizzassero automaticamente la cartella browser. Dalla versione 0.1.7 questa funzionalità è stata rimossa per supportare l'uso di Webpack in progetti Node.js. Ciò significa che è necessario utilizzare il NormalModuleReplacementPlugin per garantire che venga caricata la versione corretta per progetti browser. La configurazione nel tuo file di configurazione webpack per questo plugin è la seguente:

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'
})
]

e assicurati che il file sql-wasm.wasm sia presente nel tuo percorso pubblico.

Esempio di configurazione

new DataSource({
type: "sqljs",
entities: [Photo],
synchronize: true,
})

Non dimenticare di includere reflect-metadata

Nella tua pagina HTML principale, devi includere reflect-metadata:

<script src="./node_modules/reflect-metadata/Reflect.js"></script>

Capacitor

Consulta Using TypeORM with the Capacitor driver type nella documentazione ufficiale di Capacitor.

App Cordova / Ionic

TypeORM può essere eseguito su app Cordova/Ionic utilizzando il plugin cordova-sqlite-storage Hai la possibilità di scegliere tra diversi module loader, proprio come nel pacchetto browser. Per un esempio di utilizzo di TypeORM in Cordova vedi typeorm/cordova-example e per Ionic vedi typeorm/ionic-example. Importante: Per l'uso con Ionic è necessario un file di configurazione webpack personalizzato! Consulta l'esempio per vedere le modifiche necessarie. Nota che attualmente non c'è supporto per le transazioni quando si utilizza il plugin cordova-sqlite-storage. Vedi limitazioni di Cordova SQLite per maggiori informazioni.

Expo

TypeORM può essere eseguito su app Expo utilizzando l'API Expo SQLite. Per un esempio di utilizzo di TypeORM in Expo vedi typeorm/expo-example.

NativeScript

  1. tns install webpack (leggi sotto perché è richiesto webpack)

  2. tns plugin add nativescript-sqlite

  3. Crea un DataSource nel punto di ingresso della tua app

    import driver from "nativescript-sqlite"

    const dataSource = new DataSource({
    database: "test.db",
    type: "nativescript",
    driver,
    entities: [
    Todo, //... whatever entities you have
    ],
    logging: true,
    })

Nota: Funziona solo con NativeScript 4.x e versioni successive

Quando si utilizza con NativeScript, l'uso di webpack è obbligatorio. Il pacchetto typeorm/browser contiene codice ES7 grezzo con import/export che NON funzionerà così com'è. Deve essere compilato. Utilizza il metodo tns run --bundle

Consulta l'esempio qui!

React Native

TypeORM può funzionare su app React Native utilizzando il plugin react-native-sqlite-storage. Per un esempio, consulta typeorm/react-native-example.