我在index.js中有2个功能
module.exports.func1 = func1
module.exports.func2 = func2
然后在我需要这样的地方
const func1 = require('./index').func1
const func2 = require('./index').func2
反正还有“清理”吗?如果我有更多功能怎么办,那会很混乱。
答案 0 :(得分:4)
由于module.exports
是一个对象,并且由于require()
返回了该对象,因此您可以对该对象进行解构:
const { func1, func2 } = require('./index');
如果您需要将属性提取到属性名称之外的其他变量名中,则可以遵循通常的销毁规则在销毁时重命名:
const { func1, func2: myFunc2 } = require('./index');
// use "func1" and "myFunc2" here
答案 1 :(得分:1)
您可以在index.js
中执行以下操作:
var func = {
func1 : func1,
func2 : func2
};
module.exports = func;
然后要求使用解构:
const {func1} = require('./index');
const {func2} = require('./index');
或单个衬里
const { func1, func2 } = require('./index');
答案 2 :(得分:0)
您可以使用大括号破坏对象。
const { func1, func2 } = require('./index')
或者您可以使用类或对象,而func1,func2将是该类或对象中的方法或属性
function MyFunc () {
this.func1 = function () {}
this.func2 = function () {}
}
module.exports = new MyFunc()
或
var myFunc = {
func1: function () {}
func2: function () {}
}
module.exports = myFunc
然后您以类似方式导入
:const myFunc = require("./index")
const func1 = myFunc.func1()
答案 3 :(得分:0)
对于导出功能,您可以在 index.js 中导出功能,如下所示:
module.exports = {
func1: func1_def,
func2: func2_def
};
func1_def 和 func2_def 是函数定义。 您可以按照以下说明导入这些功能并直接使用。
const { func1, func2 } = require('./index');
答案 4 :(得分:0)
要更简单地执行导出,您可以执行以下操作:
module.exports = { func1, func2 }
要更简洁地满足需求,您可以执行以下操作:
const { func1, func2 } = require('./index')
答案 5 :(得分:0)
您可以像这样导出所有方法:
module.exports = {
func1: () => {
// logic
},
func2: () => {
// logic
},
}
然后您可以像下面这样使用
:// import or require
const myMethods = require('./path/filename');
// call the method
myMethods.insertUser();
myMethods.loginAction();
myMethods.checkDuplicationID();