我在Grunt Watch上工作了一个月,它正在使用Uglify来缩小Javascript文件,并生成一个自昨天以来完美运行的.map文件。
当我现在执行grunt watch
并保存Javascript文件时,Grunt按预期工作并运行将Javascript文件复制到公共区域并生成filename.js
和filename.js.map
文件的任务进入公共区域。
现在我正在刷新页面以查看我的更改,但是我没有更改,浏览器似乎正在加载旧的Javascript文件(是的,我使用的是像filename.js?v=....
这样的版本。)
当我查看源代码并打开Javascript文件时,文件末尾会出现奇怪的字符:
//# sourceMappingURL=filename.js.map��������������������
我使用Chrome作为浏览器,使用PHPStorm作为我的IDE。
我尝试转换为UTF-8,没有BOM的UTF-8,将换行符更改为LF和CRLF,但似乎没有任何解决方案。
我还显示所有不可见的字符以查看是否有隐藏的内容,但没有任何内容。
在生成的文件中,我写了console.log('Test');
,但在我在源代码中打开的同一个文件中,console.log('Test');
不存在:
在任何IDE中打开文件:[public / js / filename.js]
... function(){l=!0,console.log("Test"),c.setTimeout(fun ...
在任何浏览器中打开文件:[/ js / filename.js]
... function(){l=!0,c.setTimeout(fun ...
如果我删除了公共文件夹中的2个文件,请更改原始文件中的内容并保存,grunt是uglifying并复制所有内容并且它正在工作!但只是这一次..下一次更改导致相同的奇怪字符,并且再次没有对浏览器中的文件进行任何更改。
就像我说的:我正在做的整个过程已经工作了好几个月!但是从昨天起它就不再起作用了。
我没有安装/修补任何东西。这种行为是从一个到另一个。
操作系统是:
Linux packer-virtualbox-iso-14225xxxxx 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_
我从昨天开始搜索,但无法找到任何解决方案或想法。
答案 0 :(得分:1)
曾经有同样的问题。你应该在nginx中关闭你的sendfile。
sendfile off;
请参阅https://github.com/mitchellh/vagrant/issues/351#issuecomment-1339640
答案 1 :(得分:0)
我只是重新启动计算机,它现在似乎正常工作。
但如果有人建议在将来阻止这个或解决这个问题,我会很高兴听到它!如果在接下来的几天里没有答案,我会将答案标记为解决方案。