除了全局变量之外,是否还需要公共节点模块?

时间:2018-04-24 20:27:29

标签: node.js

厌倦了打字

const async = require('async');
const _ = require('lodash');

几乎每个JS文件的头部。

可以使用全局变量,易于使用,不利于单元测试。

我有缺少的选择吗?如果我可以require('common')加载我想要的实用程序并在当前文件中使用它们,那将是最好的。

2 个答案:

答案 0 :(得分:1)

那么这样做 - 创建一个 common.js 文件并将所有内容放在那里,然后使用解构赋值在一个语句中简单地要求你需要的任何内容。

实施例

<强> common.js

module.exports = {
    fs: require('fs'),
    http: require('http')
    //... what else you want
};

<强> main.js

const { fs, http } = require('./common.js');

注意

这只是一个示例,向您展示如何存档您想要的行为。但我不建议您使用它,因为它模糊了您实际加载的内容并带来不必要的依赖只是为了保存一些语句。

答案 1 :(得分:0)

哇,有一个叫做键盘片段的奇妙之处,它可以完全避免一个人反复输入这些多余的字符,而不需要破坏代码的完整性。

VSCode

  "debug require": {
    "prefix": "rede",
    "body": [
      "const debug = require('debug')('$1');$0"
    ]
  },
  "lodash require": {
    "prefix": "relo",
    "body": [
      "const _ = require('lodash');$0"
    ]
  },
  "async require": {
    "prefix": "reas",
    "body": [
      "const async = require('async');$0"
    ]
  },