Node.js 如何使用Babel在运行时从NodeJS评估es6代码?
我正在尝试构建一个nodeJS工具来帮助我分析另一个AngularJS源代码。 其想法是:Node.js 如何使用Babel在运行时从NodeJS评估es6代码?,node.js,transform,babeljs,Node.js,Transform,Babeljs,我正在尝试构建一个nodeJS工具来帮助我分析另一个AngularJS源代码。 其想法是: 阅读一些角度项目javascript文件 对于每个文件,抓取内容 eval文件中的内容 做点什么 我面临的问题是,我的Angular源代码使用es6功能,如导入,导出,箭头函数,…等等。我使用的nodeJS还不支持这些特性 因此,我尝试从我的节点应用程序代码中使用@babel/coretransform(),但它不起作用。我不断收到错误,比如意外标识符,这意味着它不理解来自“here”的导入{stuf
- 阅读一些角度项目javascript文件
- 对于每个文件,抓取内容
文件中的内容eval
- 做点什么
导入
,导出
,箭头函数
,…等等。我使用的nodeJS还不支持这些特性
因此,我尝试从我的节点应用程序代码中使用@babel/core
transform()
,但它不起作用。我不断收到错误,比如意外标识符
,这意味着它不理解来自“here”的导入{stuff}代码>语法
srcFiles.forEach(content => {
try {
(function() {
eval(require("@babel/core").transform(content.text).code)
}.call(window, angular));
} catch (e) {
console.log(e);
}
});
示例测试文件:
import _ from 'loadash';
console.log("I'm a file with import and export");
export const = 42;
你知道我怎样才能让这东西工作吗?或者另一种方法?您可以将选项作为transform
方法的第二个参数传递。参见示例您可以将选项作为transform
方法的第二个参数传递。参见示例