【问题标题】:How do i export all modules, functions, etc in node.js from one index file?如何从一个索引文件中导出 node.js 中的所有模块、函数等?
【发布时间】:2020-08-02 18:55:28
【问题描述】:

问题是我如何在 node.js 中复制 es6 导入/导出? 我有很多控制器,每个控制器都有一个类。我想从一个文件中导出这些类,因为这样可以节省很多行。

es6 中的示例:

export { default as UserCtrl } from "./UserController";
export { default as DialogCtrl } from "./DialogController";
export { default as MessageCtrl } from "./MessageController";
export { default as UploadFileCtrl } from "./UploadController";

【问题讨论】:

    标签: javascript node.js import


    【解决方案1】:

    在 Node.js >= 13 中,我们可以使用 ES6 导入/导出机制。但在 CommonJS 和传统风格中,我们可以这样做:

    // In your exports.js
    module.exports = {
        UserCtrl: require('./User.js'),
        MessageCtrl: require('./Message.js'),
        DialogCtrl: require('./Dialog.js')
    }
    // Import whereever you want
    const { UserCtrl, DialogCtrl, MessageCtrl } = require('./exports.js');
    

    【讨论】:

      【解决方案2】:

      您要导出的文件(比如说 export.js)

      exports.getLogin = (req, res, next) => {
      function here
      }
      exports.postLogin = (req, res, next) => {
      function here
      }
      exports.getAnything = (req, res, next) => {
      function here
      }
      exports.postAnything = (req, res, next) => {
      function here
      }
      

      在你要导入的页面中:

      const constName = require('../PATH/export');
      
      app.get('/PATH', constName.getLogin)
      

      所以你可以通过 constName 点你导出的函数名来使用函数。 希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-11-12
        • 1970-01-01
        • 2018-06-15
        • 1970-01-01
        • 2019-10-18
        • 2018-09-11
        • 1970-01-01
        • 1970-01-01
        • 2018-02-14
        相关资源
        最近更新 更多