当前位置: 首页 > 面试题库 >

Nodejs:如何导出多个对象?

萧浩漫
2023-03-14
问题内容

我是Nodejs的新手。如何导出多个对象?例如

fs = require("fs")
Sequelize = require 'sequelize'

module.exports = (config)->
  sequelize = new Sequelize(
    config.database.name
    config.database.username
    config.database.password
    config.database.options
  )

  fs.readdirSync(config.root+'/server/models/').forEach (file)->
    module.exports['Page'] = sequelize.import(config.root + '/server/models/' + file) # --> export this model 
  sequelize # --> export this object

我想使用Page类似的模型:

Page = require('./models').Page

我想使用Sequelize类似这样的对象

Sequelize = require('./models').Sequelize

谢谢你的建议:D

更新 :解决以下方法:

fs = require("fs")
Sequelize = require 'sequelize'

module.exports = (config)->
  @Sequelize = new Sequelize(
    config.database.name
    config.database.username
    config.database.password
    config.database.options
  )

  fs.readdirSync(config.root+'/server/models/').forEach (file)->
    @Page = sequelize.import(config.root + '/server/models/' + file)
  @

但是我还有另一个问题。如何动态分配模型?

更新通过 以下方式解决了第二个问题:

fs = require("fs")
Sequelize = require 'sequelize'

module.exports = (config)->
  @Sequelize = new Sequelize(
    config.database.name
    config.database.username
    config.database.password
    config.database.options
  )

  # @Page = sequelize.import(config.root + '/server/models/page')
  fs.readdirSync(config.root+'/server/models/').forEach (file)->
    str = file.replace('.coffee', '')
    model = str.charAt(0).toUpperCase() + str.slice(1)
    @[model] = @Sequelize.import(config.root + '/server/models/' + file) if ~file.indexOf('.coffee')
  @

问题答案:

只需将它们包装在对象文字中即可。在纯JS(没有CoffeeScript)中,将是:

module.exports = {
    Page: {}, // or whatever you want to assign it to
    Serialize: {} // again, set it to what you like
};

在coffeescript中,您使用缩进,但要创建空对象时除外:

module.exports =
  Page: {},
  Serialize: {}


 类似资料:
  • 我有一个资源可以帮助我将数据导入到模型中,但它不起作用。我尝试了所有可能的选择,但没有成功。这就是资源。 这是要通过资源导入模型的数据 这是Traceback。 无值的可能原因

  • 问题内容: 目前,我在自己的文件中有4个子类。我要求它们都在同一个文件中。我想知道是否可以在一个模块中包含所有这四个类。目前,我正在像这样导入它们 我想这样导入 甚至 我的班级定义如下 问题答案: 您可以这样导出多个类: 例如 People.js 并按照您正确提到的方式访问这些类:

  • 我是很新的反应,所以请原谅我的无知。我基本上想知道从目录导出多个ReactJS对象的“方法”,以获得更大的代码库和最佳实践。这并不是ReactJS教程中的内容。 假设我有一个文件,并且我想要导入一个lib(从dir中导入,因为我可能还有其他的lib)。 假设我在目录中有一个库,我希望在中使用它。 在中,我可能希望使用这个库并初始化一些,如下所示: 因此,在中,我希望能够导出多个reactjs类。我

  • 用例很简单:我只想导出一个名称与导入时相同的对象。 例如: 但这并不起作用。我必须写: 但这很奇怪。正确的方法是什么? 更新: 感谢帮助和参考。我用许多线索解决了我的问题。下面给大家分享一些我常见的案例和解决方法。

  • 问题内容: 例如,我正在尝试导出TS对象以获取以下JavaScript输出: 这是我的TS,但导出尚不明确, 我已经尝试过了,但是它的生成的输出是不期望的。我究竟做错了什么? 问题答案: 在ES6中,允许使用导出功能导出名称,或者默认情况下,您可以导出任何内容。该格式是这样的: 并且它将默认导出配置文件。对于您的情况,您应该执行以下操作: 如果要使用导出,请执行以下操作: 区别是: 至 注意-默认

  • 我试图上传一个图像到内存使用multer,然后处理它与夏普和保存到磁盘。当我尝试在我的中间件中做多个module.exports时。 错误是: TypeError FileUpload.Single不是函数 到目前为止的路线是: 当我刚刚有下面的路由之前,尝试添加图像处理,我没有得到一个错误;