Node.js sequelize中的数据类型做什么?为什么在参数中传递它而不定义它而运行?

Node.js sequelize中的数据类型做什么?为什么在参数中传递它而不定义它而运行?,node.js,sequelize.js,Node.js,Sequelize.js,我看过这个教程,但有几件事我不明白 该教程的链接是 这将创建模型 module.exports = (sequelize, DataTypes) => sequelize.define('User', { email:{ type: DataTypes.STRING, unique: true }, password: DataTypes.STRING }) const fs = require('fs') const path

我看过这个教程,但有几件事我不明白

该教程的链接是

这将创建模型

module.exports = (sequelize, DataTypes) => 
sequelize.define('User', {

    email:{
        type: DataTypes.STRING,
        unique: true
    },
    password: DataTypes.STRING
})
const fs = require('fs')
const path = require('path')
const Sequelize = require('sequelize')
const config =  require('../config/config')

const db = {}
var a = ''

const sequelize = new Sequelize(
config.db.database,
config.db.user,
config.db.password,
config.db.options
)

fs
.readdirSync(__dirname)
.filter((file) => 
file !== 'index.js'
).forEach((file) => 
{

const model = sequelize.import(path.join(__dirname, file))
db[model.name] = model

})

db.sequelize = sequelize;
db.Sequelize = Sequelize;


module.exports = db;
//这将导入模型

module.exports = (sequelize, DataTypes) => 
sequelize.define('User', {

    email:{
        type: DataTypes.STRING,
        unique: true
    },
    password: DataTypes.STRING
})
const fs = require('fs')
const path = require('path')
const Sequelize = require('sequelize')
const config =  require('../config/config')

const db = {}
var a = ''

const sequelize = new Sequelize(
config.db.database,
config.db.user,
config.db.password,
config.db.options
)

fs
.readdirSync(__dirname)
.filter((file) => 
file !== 'index.js'
).forEach((file) => 
{

const model = sequelize.import(path.join(__dirname, file))
db[model.name] = model

})

db.sequelize = sequelize;
db.Sequelize = Sequelize;


module.exports = db;
数据类型来自哪里? 它不是从模块导入的 为什么我需要把它作为一个论点来通过

而且我在理解台词方面也有困难

const model = sequelize.import(path.join(__dirname, file))
db[model.name] = model
当我们打电话时

var model = sequelize['import'](path.join(__dirname, file));
sequelize的
import
函数在加载模型时被调用。您可以查看代码

代码表示this.importCache[path]=defineCall(this,DataTypes),因此我们知道它是如何获取数据类型的

如果查看调用堆栈并将断点放在
sequelize.define
处,或者更好地放在
const model=sequelize.import(path.join(\uu dirname,file))
处,并开始深入挖掘,您还可以验证和理解更多内容。下面是调用堆栈的快照


您需要为第一段代码提供更多上下文。它在哪里定义,在哪里使用?或者提供指向您所看到的教程的链接并更新指向该教程的链接。谢谢。我建议你也看看哪一个可以自己创建
model/index.js
,还可以带来很多帮助,在使用sequelize时可以让生活更轻松