【问题标题】:Modify node.js REPL "defaults"?修改 node.js REPL“默认值”?
【发布时间】:2016-07-14 23:36:39
【问题描述】:

我是 node.js 初学者。我想修改节点默认 REPL 的行为,如 this link 中所述,但我不想想要运行启动脚本,因为这样做会在不导入现有历史文件的情况下启动 REPL。 (我知道这一点是因为我尝试了第一个答案中的代码:修改后的 REPL 已启动,但之前的历史记录不可用。)

这可能吗?或者更容易弄清楚如何添加/导入现有历史文件并将所述代码添加到启动脚本?

注意:我还尝试使用带有 -H path/to/.node_repl.history 的 rlwrap,如 this thread 中所建议的那样,结合第一个链接中的脚本,但仍然没有运气。我得到了修改后的行为,但没有历史记录。

【问题讨论】:

  • 这不可能吗?还是答案如此明显以至于没人会发布?
  • 如果 REPL 允许编辑输入行(我不知道 node,但我怀疑它确实如此)您需要使用 -a(或 --always-readline)参数和 @ 987654326@,否则rlwrap 将保持“透明”并且不会做任何有用的事情。如:rlwrap -a -H /path/to/history node <node_args...>
  • 我确实尝试使用 -H 进行 rlwrap,虽然我确实保留了历史记录,但我失去了着色。他们已经恢复了我在答案中引用的提交,所以我可能会等待下一次 nodejs 更新并返回使用我的别名解决方法

标签: node.js startup read-eval-print-loop defaults


【解决方案1】:

不知道这是否是“正确”的方法,但它对我有用:

添加

alias node='node -e repl.repl.ignoreUndefined=true -i'

我的 bashrc 实现了我正在寻找的效果,而不会破坏现有的历史记录。我不确定这对于更改多个 REPL 默认值有多好,所以我还没有将其标记为答案。

更新 不幸的是,最新的 node.js 更新打破了这一点。我相信this 是负责的拉取请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2022-10-24
    相关资源
    最近更新 更多