【问题标题】:Why is npm development server startup slow in emacs terminal mode?为什么 emacs 终端模式下 npm 开发服务器启动慢?
【发布时间】:2020-06-08 22:02:43
【问题描述】:

几年来我第一次重新尝试一些前端项目。我尝试的许多基于 npm 的 javascript 项目最终都需要很长时间才能在开发模式下启动,即使对于 Hello World-ish 示例也是如此。特别是我正在尝试Nuxt.js

开发服务器启动大约需要 100 秒,并且似乎没有缓存任何内容,因此重新启动(不是热重载)需要相同的时间。我对该项目和已知 npm 问题的研究尚未找到任何明确的根本原因或改进方法。

我在具有核心 i5、8 GB 内存和 SSD 的 2018 13" MacBook Pro 上以终端模式使用 emacs 26.1。

当我运行npm run dev 来启动nuxt 开发服务器时,我得到重复的error in process filter: Args out of range: "\342", -1 错误,这些错误与他们用来尝试使输出漂亮的一些不寻常的字符有关。如果我在 vanilla Mac OS 终端中尝试相同的操作,服务器启动速度会快 10 倍。为什么会出现这些错误,为什么在 emacs 终端中会这么慢?

【问题讨论】:

    标签: npm emacs nuxt.js


    【解决方案1】:

    事实证明,重复的error in process filter 问题可能是由最近修复的术语模式下的bug 引起的,但在我的 emacs 版本中可能仍然是一个问题。

    作为一种解决方法,通过过滤掉关于正在构建的模块的重复行,以下可以让 nuxt 开发服务器在我的 mac 上的 emacs 终端中以 ~10 秒而不是 ~100 秒的速度运行:

    $ npm run dev | grep -v modules
    

    请注意,我尝试使用 npm 的选项来调整日志级别,但似乎没有人过滤此输出。如果有人知道一种更“官方”的过滤方式,或者甚至更好,如果你知道如何使它不会在每次开发服务器启动时都尝试重建模块,我很想知道。

    编辑:调整 package.json 文件中的 dev 脚本命令以包含 grep 过滤器可能是有意义的,这样您仍然可以只输入 npm run dev 并获得解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 2019-09-18
      • 1970-01-01
      相关资源
      最近更新 更多