如何替换外部js文件中的变量名



我正在处理一个node.js终端项目,该项目需要在运行前编译javascript文件以防数据泄露!

有人知道用node.js做下面这样的事情的简单方法吗?编译后的文件将在电子浏览器页面上运行!

编译前:

var text = "Hello my friends";
var num = 123;
function test(abc) {
let num = 3;
let comp = abc + 3;
return comp;
}

编译后:

window.saves[project name here].text = "Hello my friends";
window.saves[project name here].num = 123;
window.saves[project name here].test = function(abc) {
let num = 3;
let comp = abc + 3;
return comp;
}

请随意提问,我会尽力回答,帮助你帮助我。

您可以使用Babel插件来实现这一点。

Babel是一个javascript转换器,可以执行代码转换,并且有一个API,可以很容易地在节点中使用,但为其编写插件并不是一项微不足道的任务。

我发现这篇文章是一个很好的起点:Babel插件手册
这里也是一篇传统文章:通过构建自己的Babel插件来理解AST

还有一些插件不是你想要的,但非常相似。罪犯你可以检查他们的源代码,看看他们是如何实现的:

  • babel插件内联替换变量
  • babel插件未声明变量检查
  • babel-plugin-transform全局系统包装器

最新更新