Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用版本控制&;捆绑在一起_Javascript_Css_Versioning_Bundling And Minification - Fatal编程技术网

Javascript 如何使用版本控制&;捆绑在一起

Javascript 如何使用版本控制&;捆绑在一起,javascript,css,versioning,bundling-and-minification,Javascript,Css,Versioning,Bundling And Minification,我遇到的问题是,如果我对CSS或javascript文件进行更改,然后将其推送到生产环境中,则客户端浏览器不会接受更改,除非它们执行ctrl+F5刷新。我在一个拥有数千名用户的学校系统中工作,所以他们不知道该怎么做,或者什么时候该怎么做 我一直在阅读,大家的共识似乎是在文件末尾添加一个“java.js?v=1.0”。我的网站使用捆绑销售,我认为我做得不对。当我试图将其放在.cs config文件的末尾时,当我将其推出时,我的站点不再识别引用文件 例如,他是我正在打包的文件列表:

我遇到的问题是,如果我对CSS或javascript文件进行更改,然后将其推送到生产环境中,则客户端浏览器不会接受更改,除非它们执行ctrl+F5刷新。我在一个拥有数千名用户的学校系统中工作,所以他们不知道该怎么做,或者什么时候该怎么做

我一直在阅读,大家的共识似乎是在文件末尾添加一个“java.js?v=1.0”。我的网站使用捆绑销售,我认为我做得不对。当我试图将其放在.cs config文件的末尾时,当我将其推出时,我的站点不再识别引用文件

例如,他是我正在打包的文件列表:

            bundles.Add(new ScriptBundle("~/bundles/utilitiesJs").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/jquery.dynatable.js",
            "~/Scripts/js-cookie.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/bootstrap-multiselect.js",
            "~/Scripts/bootstrap-toolkit.min.js",
            "~/Scripts/common.js?v=1.0",
            "~/Scripts/dropdown.js?v=1.0",
            "~/Scripts/waitingFor.js",
            "~/Scripts/analytics.js"));
如您所见,我在common.js和dropdown.js的末尾添加了“V=1.0”。当我转到WebSie并查看页面源代码时,这些文件在includes中丢失了:

<script src="/DMC/Scripts/jquery-3.1.1.js"></script>
<script src="/DMC/Scripts/jquery.dynatable.js"></script>
<script src="/DMC/Scripts/js-cookie.js"></script>
<script src="/DMC/Scripts/bootstrap.js"></script>
<script src="/DMC/Scripts/bootstrap-multiselect.js"></script>
<script src="/DMC/Scripts/bootstrap-toolkit.min.js"></script>
<script src="/DMC/Scripts/waitingFor.js"></script>
<script src="/DMC/Scripts/analytics.js"></script>

谁能告诉我我做错了什么?我是否还需要重命名公共文件和下拉文件或其他文件?我现在把它们简单地命名为common.js和dropdown.js


如果您能提供任何帮助,我们将不胜感激

If可能效率不高,但您是否尝试过在页面级别禁用缓存或可能设置较小的缓存窗口


此外,如果浏览器和服务器支持HTTP/2,那么您的受控环境将使HTTP/2成为可能。像捆绑这样的事情已经不成问题。

更新:我最终遵循的是更标准的约定——我将文件重命名为common-1.0.js,并在捆绑中引用该特定名称。展望未来,每当我对js文件进行更改时,我都会增加版本号,并记住进入捆绑包并在那里更新版本。