node.js - 确定 Javascript (NodeJS) 代码是否在 REPL 中运行
问题描述
我希望在使用 IJavascript 内核的 Jupyter 笔记本中创建一个 NodeJS 源文件,以便我可以快速调试我的代码。一旦我让它工作,我就可以使用 Jupyter 的“下载为...”功能将笔记本保存为 NodeJS 脚本文件。
我希望能够有选择地忽略/包含在我运行生成的 NodeJS 脚本文件时不会执行的笔记本源代码中的代码。
我已经解决了这个问题,因为我可以为 Python Jupyter 笔记本做类似的事情,因为我可以确定代码是否在交互式会话(IPython [REPL])中运行。我通过在 Python 中使用这个函数来实现这一点:
def is_interactive():
import __main__ as main
return not hasattr(main, '__file__')
有没有办法为 NodeJS 做类似的事情?
解决方案
我不知道这是否是正确的方法,但如果你基本上找不到其他任何东西
try {
const repl = __dirname
} catch (err) {
//code run if repl
}
感觉有点 hacky 但可以工作¯\_(ツ)_/¯
推荐阅读
- sql - 如何根据日期限制结果数据库
- python - 使用字典和匿名函数替换
- python-3.x - 如何使用编码头声明解析 Unicode xml 数据
- python - 阅读 JSONwith Pandas 时如何在列中保持前导零?
- python - 计算两个重写方法之间的时间
- sql - 用下一个非空值填充空白
- neo4j - Neo4j Cypher 查询错误:NoLock[Pipeline[2]] 已锁定
- c++ - C++ int、int[]、float,尤其是 char *、char[]、char 是否与 C 中的这些相同。我相信它们是先导的,所以它们是否相同?
- javascript - 使用 multer S3 传输文件时无法设置缓存控制?
- javascript - 将隐藏输入的值发送到状态反应