首页 > 解决方案 > 在模块中循环导出 javascript/sequelize

问题描述

我有一个包含续集模型的 index.js 脚本

这是我的文件夹的树结构

models/
   files/
   xml_files/
   csv_files/
   txt_files/
   index.js
server.js

这是我的index.js代码:

const generate_files = require('./files')

const File = generate_files(sequelize, DataTypes)

const generate_xml_files = require('./xml_files')

const Xml_File = generate_xml_files(sequelize, DataTypes)

const generate_csv_files = require('./csv_files')

const Csv_File = generate_csv_files(sequelize, DataTypes)

const generate_txt_files = require('./txt_files')

const Txt_File = generate_txt_files(sequelize, DataTypes)

module.exports = {
 Files, Xml_File, Csv_File, Txt_File
}

在 `` server.js ``` 我像这样导入了每个模型:

const {Files, Xml_File, Csv_File, Txt_File} = require('./models')

现在server.js 我想获取模块的名称 sequelize 然后我检查模块的名称是否与表的名称匹配,如下所示:

const {Files, Xml_File, Csv_File, Txt_File} = require('./models')

if (Files.name == TableName){
  Files.findAll()
}

if (Xml_File.name == TableName){
  Xml_File.findAll()
}
if (Csv_File.name == TableName){
  Csv_File.findAll()
}
....

我怎样才能避免每次都做测试?

标签: javascriptsequelize.js

解决方案


你可以做:

const Example = require('./index')

Example.Files

至于制作循环,我不确定你能做到这一点,但你可以这样做:

export const File = generate_files(sequelize, DataTypes)

这与以下内容相同:

module.exports = {File}

推荐阅读