Visual studio code VSCode赢得';I don’我不能和文件监视者一起工作

Visual studio code VSCode赢得';I don’我不能和文件监视者一起工作,visual-studio-code,node-sass,Visual Studio Code,Node Sass,我运行这个命令来监视.scss文件节点sass chokidar./scss-o./build--watch 如果我在记事本++中编辑文件,一切正常,文件可以编译 如果在VSCode中编辑,则在保存后会出现以下错误: { "status": 3, "message": "File to read not found or unreadable: E:/Clients/conversions/css/scss/mobile.scss", "formatted": "Internal E

我运行这个命令来监视.scss文件
节点sass chokidar./scss-o./build--watch

如果我在记事本++中编辑文件,一切正常,文件可以编译

如果在VSCode中编辑,则在保存后会出现以下错误:

{
  "status": 3,
  "message": "File to read not found or unreadable: E:/Clients/conversions/css/scss/mobile.scss",
  "formatted": "Internal Error: File to read not found or unreadable: E:/Clients/conversions/css/scss/mobile.scss\n"
}
我发现一些线程说这是由原子保存引起的,但VSCode开发人员在github线程中说VSCode不使用原子保存。但在另一个帖子中,他说它重命名了文件,所以我想这可能是个问题

有人知道我如何修复此问题并使其正常保存吗?

更新答案 我已经为在vscode上运行的节点sass监视错误创建了一个补丁。 可在以下位置获取:

如何使用:

  • 在项目中创建名为
    patches
    的文件夹
  • 下载到您的项目
    修补程序
    文件夹中
  • 安装
  • 另一个选项是从
    节点sass
    更改为
    dart sass

    npm卸载节点sass
    npm安装sass
    
    并从中更新命令

    节点sass scss/-o.build/--watch
    


    节点sass-scss/:build/--watch
    

    原始答案 我也有同样的问题。所以我为它创建了一个补丁,并向节点sass提交了一个拉请求:

    问题似乎是在节点sas尝试访问该文件时,VSCode仍然保存着该文件。此修复程序检测到此情况并应用重试机制

    如果您现在想尝试,作为一项临时措施,您可以通过将“node_modules/node sass/lib/render.js”替换为以下版本来修补节点sass本地副本:


    区别在这里:

    删除-w标志,然后编译它一次,然后将-w放回原处。它现在可以工作了

    如果您使用节点sass作为编译器,并且使用vscode或SUMBLE text AFAIK,问题在于原子保存选项,其中节点sass无法访问传输scss文件,因为编辑器仍在忙着它。解决此问题的两种方法包括:

  • 替换节点sass的render.js文件
  • 检查 每次安装节点sass时都必须这样做,这有一个缺点

  • 改为安装
    sass
    模块

    $THEAN add-D sass

  • 剧本

    $ sass --watch input.scss output.css
    

    查看有关sass的更多信息

    当我体验到我点击了3-4次save时,最初几次都出现了类似的错误,但最终它仍然有效。

    这里,使用“节点sass”:“5.0.0”我也面临着这个问题

    对我来说,解决方案是更改脚本命令:

    node-sass sass/file.scss css/filecompiled.css --w
    

    sass sass/file.scss css/filecompiled.css --watch
    
    现在,一切都运转得很好

    "Compiled sass\file.scss to css\filecompiled.css."
    

    它应该是-w或者——看。我认为问题是您使用了两个hypens,其中w
    node sass scss/:build/--watch
    必须更改为
    sass scss/:build/--watch
    ,因为您正在安装sass(node sass不推荐使用),您必须进行更改才能使其正常工作。