Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
什么是?v=JavaScript文件名中的某些内容?_Javascript_Node.js - Fatal编程技术网

什么是?v=JavaScript文件名中的某些内容?

什么是?v=JavaScript文件名中的某些内容?,javascript,node.js,Javascript,Node.js,我注意到在很多网站上,JavaScript文件都有它的常规名称?v=可以是字母数字,也可以是随机数 例如: <script src="./bundle.js?v=21knfa"></scrip> 关于这一点,我有几个问题: 目的: 在文件名上添加?v=某物的目的是什么。例如,它是否允许开发人员拥有多个版本的代码 服务器或客户端 这是由服务器还是客户端完成的 如何做到这一点 如何将该版本自动添加到JavaScript文件名中,是否需要Docker这样的软件?或者这是以另一

我注意到在很多网站上,JavaScript文件都有它的常规名称?v=可以是字母数字,也可以是随机数

例如:

<script src="./bundle.js?v=21knfa"></scrip>
关于这一点,我有几个问题:

目的: 在文件名上添加?v=某物的目的是什么。例如,它是否允许开发人员拥有多个版本的代码

服务器或客户端 这是由服务器还是客户端完成的

如何做到这一点 如何将该版本自动添加到JavaScript文件名中,是否需要Docker这样的软件?或者这是以另一种方式实现的

任何帮助都将不胜感激。

目的 它用于客户端缓存

如果您有一个JS文件script.JS,用户浏览器将缓存它。更改script.js时,浏览器仍将使用旧的缓存版本

那么,添加一个?v=。。。这样,当您进行更改时,浏览器将加载新的

因为它在HTML文件中,所以设置?v=

要自己执行此操作,只需添加?v=

实例 假设您为您的站点制作了一个脚本,并将其命名为script.js

在代码中,您将:

<script src="script.js?v=1" type="text/javascipt"></script>
现在,当您更改script.js时,您可以按如下方式更改代码:

<script src="script.js?v=2" type="text/javascipt"></script>
现在,访问者的浏览器将获得脚本文件的新版本

而且 你可以用?foo=。。。或者任何其他字符串。

目的 它用于客户端缓存

如果您有一个JS文件script.JS,用户浏览器将缓存它。更改script.js时,浏览器仍将使用旧的缓存版本

那么,添加一个?v=。。。这样,当您进行更改时,浏览器将加载新的

因为它在HTML文件中,所以设置?v=

要自己执行此操作,只需添加?v=

实例 假设您为您的站点制作了一个脚本,并将其命名为script.js

在代码中,您将:

<script src="script.js?v=1" type="text/javascipt"></script>
现在,当您更改script.js时,您可以按如下方式更改代码:

<script src="script.js?v=2" type="text/javascipt"></script>
现在,访问者的浏览器将获得脚本文件的新版本

而且
你可以用?foo=。。。或任何其他字符串。

如果添加内容,URL会发生更改,不会缓存在浏览器中并强制加载。这是一个cachebuster,如果更改get参数,浏览器将获取一个新文件,而不是使用它的缓存,因此不会有多个同名但不同的文件?v=如果添加内容,URL会更改,不会缓存在浏览器中并强制加载。它是一个cachebuster,如果您更改get参数,浏览器将获取一个新文件,而不是使用它的Cache,因此不会有多个同名但不同的文件?v=您能提供一个编程示例Cally您能以编程方式提供一个示例吗