Ecmascript 6 在babel节点REPL中使用lodash模块?
我正在尝试测试lodash,显然以下行在REPL中不起作用:Ecmascript 6 在babel节点REPL中使用lodash模块?,ecmascript-6,babeljs,lodash,Ecmascript 6,Babeljs,Lodash,我正在尝试测试lodash,显然以下行在REPL中不起作用: import curry from 'lodash/curry'; 参见,例如。, 有没有一种方法可以将像lodash这样的模块预加载到babel节点?(例如,通过命令行选项或配置文件) 如果没有,是否有另一种方法评估预加载了lodash的ES6 到目前为止,我已经在Firefox的控制台上尝试了在线REPL和评估。没有一个奏效 导入肯定行不通,因为软件包应该先安装并打包,然后才能导入,这不是Babel REPL的职责 Lodas
import curry from 'lodash/curry';
参见,例如。,
有没有一种方法可以将像lodash这样的模块预加载到babel节点?(例如,通过命令行选项或配置文件)
如果没有,是否有另一种方法评估预加载了lodash的ES6
到目前为止,我已经在Firefox的控制台上尝试了在线REPL和评估。没有一个奏效
导入
肯定行不通,因为软件包应该先安装并打包,然后才能导入,这不是Babel REPL的职责
Lodash已加载并用于Babel REPL中:
如果问题不限于Lodash,那么在REPL中获取第三方库的最快方法是手动加载脚本。由于Babel网站加载了jQuery(几乎与任何网站一样),因此最短的方法是在控制台中加载jQuery.getScript
:
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js');
在此之后,Lodash\uu
global将在REPL中可用
整个代码可以用callback包装,以跳过控制台部分:
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js', () => {
console.log(_.VERSION);
});
正如原始帖子中的链接所说,babel node REPL不支持导入。相反,应该使用require
,就像节点中的任何其他地方一样
var { curry } = require('lodash')
这需要将
lodash
安装在当前工作目录中存在的node\u模块中。import
肯定不起作用,因为软件包应该先安装并打包才能导入,这不是Babel REPL的职责
Lodash已加载并用于Babel REPL中:
如果问题不限于Lodash,那么在REPL中获取第三方库的最快方法是手动加载脚本。由于Babel网站加载了jQuery(几乎与任何网站一样),因此最短的方法是在控制台中加载jQuery.getScript
:
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js');
在此之后,Lodash\uu
global将在REPL中可用
整个代码可以用callback包装,以跳过控制台部分:
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js', () => {
console.log(_.VERSION);
});
正如原始帖子中的链接所说,babel node REPL不支持导入。相反,应该使用require
,就像节点中的任何其他地方一样
var { curry } = require('lodash')
这需要将lodash
安装在当前工作目录中存在的node\u模块中。谢谢您的回答。我使用的是babel节点——预设es2015
,在执行>const{curry}=代码>,我得到类型错误:无法读取repl:4:17处未定义的属性“curry”代码>有什么建议吗?答案首先是针对Babel REPL的。当然,babel节点中没有全局的。您应该像通常在Node中一样,要求
。谢谢您的回答。我使用的是babel节点——预设es2015
,在执行>const{curry}=代码>,我得到类型错误:无法读取repl:4:17处未定义的属性“curry”代码>有什么建议吗?答案首先是针对Babel REPL的。当然,babel节点中没有全局的。您应该只需要要求
,就像通常在Node中一样。