一个基于 Proxy 的浏览器沙箱,确保动态运行的代码,不会污染全局环境。
$ pnpm add bpvm
import { runInNewContext } from 'bpvm'
window.globalVar = 3
const context = {
globalVar: 1,
}
runInNewContext('globalVar *= 2', context)
console.log(context)
// Prints: { globalVar: 2 }
console.log(window.globalVar)
// Prints: 3
- 使用 vscode 打开项目
- 进入到子模块的
samples
目录 - 打开需要运行的示例文件
- 点击侧边栏的 运行和调试 按钮
- 运行
Run Files
MIT