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 20+ e attualmente ogni commit viene testato su Node.js 20 e 24.

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ò funzionare su app Cordova/Ionic utilizzando il plugin cordova-sqlite-storage. Hai la possibilità di scegliere tra diversi module loader, proprio come nel pacchetto browser.
Importante: Per l'uso con Ionic è necessario un file di configurazione webpack personalizzato. Nota che attualmente non è supportato l'uso delle transazioni con il plugin cordova-sqlite-storage. Per maggiori informazioni, consulta le limitazioni di Cordova SQLite.

Expo

TypeORM può funzionare su app Expo utilizzando l'API SQLite di Expo.

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.