Webpack生产,防止覆盖现有文件

时间:2018-02-05 15:33:31

标签: javascript node.js webpack webpack-2 msdeploy

是否可以执行先前使用像

这样的块名生成文件的webpack

1.a7285335770fffaf3175.js 下, 的 2.vsgg5335770fffaf587.js

在编译时不会被覆盖?

我问这个是因为在每次编译时,文件(当代码保持不变时)都会被相同的名称覆盖,所以只有“修改日期”才会改变。

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

1 个答案:

答案 0 :(得分:1)

您可以让WebDeploy / MSDeploy使用不同的机制来检查更改,而不是更改webpack的运行方式。根据这篇文章:this,有两种主要方法可以检查差异:

  1. 时间戳(默认)
  2. MSDeploy将简单地比较资源的时间戳,以确定是否需要进行新的构建。

    1. Checksum(什么可能适合你)
    2. 执行MSDeploy时使用-useChecksum开关将使MSDeploy使用文件校验和,这意味着将比较两个文件的实际内容而不是文件元数据,以检查更改。

      此外,根据文章:

        

      如果您在MSBuild过程中进行部署,则可以添加   /p:MSDeployUseChecksum=true参数,用于设置MSDeploy标志。