📌

Nodeベースの開発環境でeval内の変数を参照できるようにする方法

2023/10/25に公開

WebpackやElectronなど、Nodeベースの開発環境では下記コードでhogeは参照できないことがあります。

eval('var hoge = 1;');
console.log(hoge);

そんなときは、このようにします。

const code ='var hoge = 1;'
eval(code + 'global.hoge = hoge;');
console.log(global.hoge);

eval内のコードにglobal変数への参照を追加することで外からも参照できるようになります。
プレーンなJSONファイルだとコメントを残せなかったりと取り回しが悪いので、JSファイルとしてデータが用意されていることがないでしょうか?わたしはあります。そんなときに使えます。

Discussion