Javascript 在Nginx服务器和webpack js和css版本控制之外处理缓存

Javascript 在Nginx服务器和webpack js和css版本控制之外处理缓存,javascript,css,node.js,caching,nginx,Javascript,Css,Node.js,Caching,Nginx,我有一个React nodejs应用程序在EC2上运行 我在Nginx之外为负载平衡设置了3个it实例 我还启用了Nginx配置中的缓存 基本上,所有内容都应该缓存在不同版本的app.js旁边,app.js包含捆绑的React代码和style.css,后者也捆绑在一起 我想在js和css src链接中添加一个版本号(例如) 我的问题是,我能用webpack自动完成这个操作吗?是这样吗?html网页包插件是您的朋友 允许webpack为您创建index.html文件,而不是创建index.html

我有一个React nodejs应用程序在EC2上运行

我在Nginx之外为负载平衡设置了3个it实例

我还启用了Nginx配置中的缓存

基本上,所有内容都应该缓存在不同版本的app.js旁边,app.js包含捆绑的React代码和style.css,后者也捆绑在一起

我想在js和css src链接中添加一个版本号(例如)


我的问题是,我能用webpack自动完成这个操作吗?是这样吗?

html网页包插件
是您的朋友

允许webpack为您创建index.html文件,而不是创建index.html文件

var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {

    entry: "./index.js",
    output: {
        filename: "./dist/app.bundle.[hash].js"
    },
    plugins: [
        new HtmlWebpackPlugin({
            hash: true,
            filename: './dist/index.html'
        })
   ]

}

这将自动将输出脚本添加到index.html中,并为文件生成一个哈希。

Great为js和css实现了这一技巧。但是我注意到,如果您将hash设置为true,它会向src链接添加?[hash],这是google speed test和其他基准测试工具不推荐的。我已经删除了它,并按照您的建议将其添加到文件名中。我还使用了模板选项,因为我想保留一些初始的东西。再次感谢