我正在尝试测试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的控制台中进行了评估。没有用。
答案 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
。