微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

终端范围内的纱线缓存本地模块

如何解决终端范围内的纱线缓存本地模块

编写apollo-server代码时遇到一个非常奇怪的问题。例如,我有一个扩展RESTDataSource的类。方法

willSendRequest (request) {
console.log ('1');
}
  1. 我通过npm.scripts启动服务器:$ yarn startnode src/index.js

2.go到localhost:4000

3。在Playground界面中执行请求

4.server写入日志:

> 1

但是!如果我在代码添加了任何内容

willSendRequest (request) {
console.log ('1');
console.log ('2!');
}
  1. 我在终端上按Ctrl + C杀死了服务器。
  2. 我输入了最后一个命令yarn start
  3. 重新加载游乐场页面。 (本地主机:4000)在浏览器中 4.完成请求 5.服务器写入日志:
> 1

但是! 如果在yarn start之前我打开一个新终端并执行其余操作,则日志如下:

> 1
> 2!

有时可以工作...

但是它大大减慢了开发速度!因为它也会影响工作代码! 我不明白这可能与什么有关,这是我第一次遇到这个问题。

我的系统:

$ lsb_release -a
No LSB modules are available.
distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal

节点:

$ node -v
v10.19.0

我正在使用VSCode。但是,我怀疑情况是否如此。因为,我关闭了所有插件,并尝试通过vscode之外的其他方式启动服务器。

PS

似乎仅当我使用yarn start yarn run start启动服务器时才会看到此行为。 请告诉我这种行为的原因是什么?

PSS

我遇到了issue (yarn probably shouldn't cache packages resolved with a file path),并尝试将启动脚本更改为:

"scripts": {
     "start": "yarn cache clean && node src/index.js"
}

但是,这没有帮助。

因此,我可以使用npm,但是它无法说明为什么会出现此问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。