我几年来第一次重新开始尝试一些前端项目。我尝试的很多基于npm的javascript项目在开发模式下最终都需要很长时间才能启动,即使是Hello World这样的例子。尤其是我正在尝试的 Nuxt.js.
开发服务器启动需要100秒左右,而且似乎没有任何东西被缓存,所以重新启动(不 热重装)需要同样的时间。我对项目和已知的npm问题的研究尚未发现任何明确的根本原因或改进方法。
我在终端模式下在2018年13英寸的MacBook Pro上使用emacs 26.1,核心i5,8GB的内存和SSD。
当我运行 npm run dev
以启动 nuxt
开发服务器,我得到重复的 error in process filter: Args out of range: "\342", -1
错误,这与他们使用一些不寻常的字符来试图使输出变得漂亮有关。如果我在Mac OS终端中尝试同样的事情,服务器的启动速度会快10倍。为什么会出现这些错误,为什么在emacs终端上会慢很多?
事实证明,重复的 error in process filter
问题可能是由以下原因造成的 虫子 的问题,但在我的emacs版本中可能还是个问题。
作为一个变通的方法,下面的方法可以获得 nuxt
在我的mac终端上,通过过滤掉关于正在构建的模块的重复行,开发服务器在大约10秒内运行,而不是大约100秒。
$ npm run dev | grep -v modules
请注意,我试着用npm的选项来调整日志级别,但似乎没有一个能过滤掉这个输出。如果有谁知道一个更 "官方 "的过滤方法,或者更好的是,如果你知道如何使它不在每次开发服务器启动时尝试重建模块,我会很想知道。
编辑: 也许可以调整 dev
脚本命令在package.json文件中加入grep过滤器,这样你仍然可以只输入 npm run dev
并得到解决方法。