webpack制作,防止覆盖已有文件

Webpack production, prevent overwrite existing files

是否可以执行之前生成的文件的 webpack,其块名类似于

1.a7285335770fffaf3175.js, 2.vsgg5335770fffaf587.js

编译时不会被覆盖?

我问这个是因为在每次编译时,文件(当代码保持不变时)都会被同名覆盖,所以只有 "modified-date" 发生变化。

因此,我选择的同步程序 (msdeploy.exe) 正在寻找该日期更改并再次同步所有文件,尽管修改日期已更改

您可以 WebDeploy/MSDeploy 使用不同的机制来检查更改,而不是更改 webpack 的操作方式。借鉴这篇文章:WebDeploy/MSDeploy Quick Tip: Only Deploy Changed Files,主要有两种检查差异的方法:

  1. 时间戳(默认)

MSDeploy 将简单地比较资源的时间戳以确定是否需要进行新构建。

  1. 校验和(可能对您有用)

在执行 MSDeploy 时使用 -useChecksum 开关将使 MSDeploy 使用文件校验和,这意味着将比较两个文件的实际内容,而不是文件元数据,以检查更改。

此外,根据文章:

If you are deploying during the MSBuild process you can add the /p:MSDeployUseChecksum=true argument which will set the MSDeploy flag.