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,主要有两种检查差异的方法:
- 时间戳(默认)
MSDeploy 将简单地比较资源的时间戳以确定是否需要进行新构建。
- 校验和(可能对您有用)
在执行 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.
是否可以执行之前生成的文件的 webpack,其块名类似于
1.a7285335770fffaf3175.js, 2.vsgg5335770fffaf587.js
编译时不会被覆盖?
我问这个是因为在每次编译时,文件(当代码保持不变时)都会被同名覆盖,所以只有 "modified-date" 发生变化。
因此,我选择的同步程序 (msdeploy.exe) 正在寻找该日期更改并再次同步所有文件,尽管修改日期已更改
您可以 WebDeploy/MSDeploy 使用不同的机制来检查更改,而不是更改 webpack 的操作方式。借鉴这篇文章:WebDeploy/MSDeploy Quick Tip: Only Deploy Changed Files,主要有两种检查差异的方法:
- 时间戳(默认)
MSDeploy 将简单地比较资源的时间戳以确定是否需要进行新构建。
- 校验和(可能对您有用)
在执行 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.