NodeJS 在节点中,这两种必需样式在功能上有什么区别吗?

yc0p9oo0  于 2023-01-20  发布在  Node.js
关注(0)|答案(1)|浏览(122)

我有时在教程中看到这样写的东西:

const db = require('../models');
const { sequelize } = db;

const result = await sequelize.query(sqlQuery);

但是下面的版本也可以工作:

const { db, sequelize } = require('../models');

const result = await sequelize.query(sqlQuery);

这样做或那样做有什么好处吗?

ruarlubt

ruarlubt1#

我认为两种方法对sequelize给予的结果几乎相同,因为两种方法中的sequelize都是..models的子模块,但是我认为两种方法中的db是不一样的。
在第一个例子中,db存在于整个模块models中,然后你从db调用sequelize,这与你直接从模块models调用sequelize是一样的。
在第二种情况下,直接调用sequelize

const {db, sequelize} = require('../models);

这和第一种情况几乎一样,不同的是你从require调用它,而不是像第一种情况那样调用const,这就是为什么它仍然有效。
但是请注意db,因为第二个示例中的dbmodels的子模块,而第一个示例中的db是整个模块,如果您以两种方式显示db的值,您可能会看到差异。

相关问题