Uso con JavaScript
Traducción Beta No Oficial
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
TypeORM puede utilizarse no solo con TypeScript, sino también con JavaScript. Todo funciona igual, excepto que debes omitir los tipos y, si tu plataforma no es compatible con clases ES6, entonces necesitas definir objetos con todos los metadatos requeridos.
app.js
var typeorm = require("typeorm")
var dataSource = new typeorm.DataSource({
type: "postgres",
host: "localhost",
port: 5432,
username: "test",
password: "admin",
database: "test",
synchronize: true,
entities: [require("./entities/Post"), require("./entities/Category")],
})
dataSource
.initialize()
.then(function () {
var category1 = {
name: "TypeScript",
}
var category2 = {
name: "Programming",
}
var post = {
title: "Control flow based type analysis",
text: "TypeScript 2.0 implements a control flow-based type analysis for local variables and parameters.",
categories: [category1, category2],
}
var postRepository = dataSource.getRepository("Post")
postRepository
.save(post)
.then(function (savedPost) {
console.log("Post has been saved: ", savedPost)
console.log("Now lets load all posts: ")
return postRepository.find()
})
.then(function (allPosts) {
console.log("All posts: ", allPosts)
})
})
.catch(function (error) {
console.log("Error: ", error)
})
entity/Category.js
var EntitySchema = require("typeorm").EntitySchema
module.exports = new EntitySchema({
name: "Category", // Will use table name `category` as default behaviour.
tableName: "categories", // Optional: Provide `tableName` property to override the default behaviour for table name.
columns: {
id: {
primary: true,
type: "int",
generated: true,
},
name: {
type: "varchar",
},
},
})
entity/Post.js
var EntitySchema = require("typeorm").EntitySchema
module.exports = new EntitySchema({
name: "Post", // Will use table name `post` as default behaviour.
tableName: "posts", // Optional: Provide `tableName` property to override the default behaviour for table name.
columns: {
id: {
primary: true,
type: "int",
generated: true,
},
title: {
type: "varchar",
},
text: {
type: "text",
},
},
relations: {
categories: {
target: "Category",
type: "many-to-many",
joinTable: true,
cascade: true,
},
},
})
Puedes consultar este ejemplo typeorm/javascript-example para aprender más.