你如何要求没有前缀的变量

Zaz*_*Zaz -1 javascript require node.js

我有一个文件,其中包含一些辅助函数,可用于其他两个文件.我想导入函数,但我习惯这样做的方式并不理想:

helper = require('./helpers')
helper.log()
helper.ok()
...
Run Code Online (Sandbox Code Playgroud)

我希望能够使用没有helper前缀的函数(例如ok()).我怎样才能做到这一点?

编辑:目前有7个辅助函数,并且这个数字可能会在将来增长,因此手动指定每个函数似乎无法使用单独的文件.

mau*_*ris 6

与ES2015,Python或其他语言不同,您无法从其他文件导出特定函数并直接使用它.您在ES5中可以做的是:

helper = require('./helpers')
var ok = helper.ok;

ok(...);
...
Run Code Online (Sandbox Code Playgroud)

或者如果您更喜欢oneliners:

var ok = require('./helpers').ok
Run Code Online (Sandbox Code Playgroud)

那就是我假设您正在导出您所拥有的各种功能的单个对象helpers.js.

而在ES2015中,您必须以不同的方式编写它.

首先,您helpers.js需要单独导出函数,如下所示:

export function ok(args) {
  ...
}

export function log(args) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

然后在你的主脚本中:

import {ok, log} from './helpers';
ok(...);
log(...);
Run Code Online (Sandbox Code Playgroud)

查看更多:https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import


str*_*str 5

您可以使用对象解构:

const {log, ok} = require('./helpers');
log();
ok();
Run Code Online (Sandbox Code Playgroud)