某些Node JS库(例如debug)将此模式与require语句一起使用:
$('#step-1, #step-2, #step-3').removeClass('active-step');
这基本上是一个函数的要求,然后直接调用。
我的问题:使用ES2015 var debug = require('debug')('http');
语句是否有类似的构造?
如果从commonjs转换为es2015语法,你会如何翻译这些代码?
答案 0 :(得分:2)
该模式仅起作用,因为require(debug)
返回可立即使用的值。
var debug = require('debug')('http');
import
有点像if
,因为它没有作为一个值解析。
var d = if(a) { b } else { c }; // unexpected token
var debug = import debug from 'debug'; // unexpected token
require
与?
运算符共享语义,该运算符执行与if
相同的功能,但会将其解析为值。
var d = a ? b : c;
var debug = require('debug');
唯一的选择是将声明分开。
import _debug from 'debug';
var debug = _debug('http');
答案 1 :(得分:1)
There is no such shorthand in ES2015
您只需将代码分为两部分:
import _debug from 'debug';
const debug = _debug('http');
出口将是:
export default function { ... }