【问题标题】: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 点你导出的函数名来使用函数。
希望对您有所帮助。