const fp = require('fastify-plugin')
const { DataSource } = require('typeorm')
function dbPlugin(fastify, options, done) {
const con = new DataSource({
type: 'mssql',
...options,
options: {
encrypt: false,
},
})
con.initialize().then( dbcon => {
fastify.decorate('db', con)
done()
}).catch(error => {
console.log(error)
})
}
module.exports = fp(dbPlugin)
建议用fastify-plugin的方式创建插件,options为注册插件时传递来的参数,done最后必须要调用。
fastify.register(require('./plugins/db.js'), {
host: DBIP,
username: DBUSER,
password: DBPASS,
database: DATABASE,
})
注册插件,第二个字面对象是传递给插件的options的实参。