ST3构建系统配置:解决Node.js执行脚本后自动退出的问题
解决Node.js脚本执行后自动退出无法测试变量的问题
嘿,我完全懂你的困扰——脚本跑完就直接退出,连查看变量的机会都没有,确实挺闹心的。下面给你几个实用的解决办法,不管是命令行直接运行还是用Sublime Text构建,都能让你留在环境里测试变量:
方法1:用Node.js的REPL模式加载脚本
Node其实自带了交互式环境(REPL),我们可以让它先执行脚本,然后停留在交互模式里。直接在命令提示符里跑这个命令:
node -i -e "$(< your-script.js)"
-i:强制进入交互式REPL环境-e:执行后面的代码片段$(< your-script.js):读取你脚本里的所有内容,作为执行的代码
举个例子,假设你的脚本test.js里写了const myVar = "hello world";,执行上面的命令后,脚本跑完不会退出,你直接输入myVar就能看到它的值了。
方法2:修改Sublime Text的构建系统配置
你之前的配置没生效,可能是因为没让Node进入交互模式。把你的构建配置改成下面这样:
{ "cmd": ["start", "cmd", "/k", "cd \"${file_path}\" && node -i -e \"$(< \\\"$file\\\")\""], "selector": "source.js", "shell": true }
解释一下关键部分:
cd \"${file_path}\":先切换到脚本所在的目录,避免路径问题/k:让cmd窗口在执行完命令后保持打开node -i -e ...:就是我们上面说的,执行脚本后进入REPL
保存这个配置后,在Sublime里按Ctrl+B执行脚本,就能弹出一个cmd窗口,脚本跑完后停留在交互环境里,随便测试变量就行。
方法3:在脚本末尾添加REPL启动代码
如果不想每次都敲额外的命令,直接在你的Node.js脚本最后加一行代码:
require('repl').start();
这样不管你是用node your-script.js命令执行,还是通过Sublime构建,脚本执行到最后都会自动启动REPL环境,直接就能查看所有变量和执行新的代码。
试试上面的方法,应该就能解决你的问题啦!
内容的提问来源于stack exchange,提问作者snoob dogg
相关产品推荐
相关产品推荐

