在babel-node REPL中使用lodash模块?

时间:2017-05-10 11:48:43

标签: ecmascript-6 babeljs lodash

我正在尝试测试lodash,显然以下行在REPL中不起作用:

import curry from 'lodash/curry';

请参阅,例如babel-node es6 "Modules aren't supported in the REPL" Why does babel-node not support module loading in the REPL?

有没有办法可以将像lodash这样的模块预先加载到babel-node中? (例如,通过命令行选项或配置文件)

如果没有,是否有其他方法可以预先加载lodash来评估ES6?

到目前为止,我已经尝试了https://babeljs.io/repl/的在线REPL,并在Firefox的控制台中进行了评估。没有用。

1 个答案:

答案 0 :(得分:0)

import肯定不会工作,因为应该首先安装包并捆绑以便导入,这不是Babel REPL的职责。

Lodash已经加载并用于Babel REPL,it can be used in REPL as _ global

const { curry } = _;

如果问题不限于Lodash,在REPL中获取第三方库的最快方法是手动加载脚本。而且由于Babel网站加载了jQuery(几乎任何网站),最简单的方法是jQuery.getScript,在控制台中:

$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js');

之后,Lodash _全局变为REPL。

整个代码可以用回调包装以跳过控制台部分:

$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js', () => {
  console.log(_.VERSION);
});
babel-node REPL不支持导入,正如原帖中的链接所说的那样。相反,应该使用require,就像在Node中的任何其他地方一样。

var { curry } = require('lodash')

这需要在当前工作目录中的lodash中安装node_modules