ES2015 `require()()` 的 `import` 替代品?
ES2015 `import` alternative for `require()()`?
一些 Node JS 库(例如 debug)将此模式与 require 语句一起使用:
var debug = require('debug')('http');
这基本上是一个函数的要求,然后直接调用。
我的问题:是否有使用 ES2015 import
语句的类似构造?
如果您要从 commonjs 语法转换为 es2015 语法,您将如何翻译此类代码?
There is no such shorthand in ES2015.
您只需要将代码分成两部分:
import _debug from 'debug';
const debug = _debug('http');
导出将是:
export default function { ... }
该模式之所以有效,是因为 require(debug)
returns 一个可以立即使用的值。
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');
一些 Node JS 库(例如 debug)将此模式与 require 语句一起使用:
var debug = require('debug')('http');
这基本上是一个函数的要求,然后直接调用。
我的问题:是否有使用 ES2015 import
语句的类似构造?
如果您要从 commonjs 语法转换为 es2015 语法,您将如何翻译此类代码?
There is no such shorthand in ES2015.
您只需要将代码分成两部分:
import _debug from 'debug';
const debug = _debug('http');
导出将是:
export default function { ... }
该模式之所以有效,是因为 require(debug)
returns 一个可以立即使用的值。
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');