为使用“require”导入的对象分配别名

问题描述

情况:假设我使用 require 导入一个模块:

const my_module = require('./my_module')

而且,我不想在所有导入对象的名称加上 my_module,因此我决定定义一些更短、更易于编写的对它们的引用:

const fnA = my_module.functionA
const fnB = my_module.functionB
const fnC = my_module.functionC

但是,您可以看到上面的内容相当笨拙——每个导入的对象需要一行。

问题:使用 require 导入对象同时还给它们指定名称的更简洁方法是什么?

解决方法

你可以assign to new variable names in a destructuring assignment

给定 myModule.js

module.exports = {
  functionA: () => console.log("a"),functionB: () => console.log("b"),functionC: () => console.log("c"),}

您可以在main.js

const { functionA: fnA,functionB: fnB,functionC: fnC,} = require("./myModule");

fnA(); // Logs "a"
fnB(); // Logs "b"
fnC(); // Logs "c"