RequireJS似乎在内部做了一些事情,缓存所需的javascript文件。如果我对所需的文件之一进行了更改,我必须重命名该文件,以便应用更改。

将版本号作为查询字符串参数附加到文件名末尾的常见技巧不适用于requirejs <script src="jsfile.js? "脚本v2”> < / >

我正在寻找的是一种方法,以防止RequireJS所需脚本的这种内部缓存,而不必在每次更新脚本文件时重命名脚本文件。

跨平台解决方案:

我现在使用urlArgs: "bust=" + (new Date()). gettime()在开发过程中自动缓存破坏和urlArgs: "bust=v2"的生产,在推出一个更新的所需脚本后,我增加硬编码的版本num。

注意:

@Dustin Getz在最近的回答中提到,当Javascript文件不断刷新时,Chrome开发工具将在调试过程中删除断点。一个解决方法是编写调试器;在大多数Javascript调试器中触发断点。

特定于服务器的解决方案:

有关可能更适合您的服务器环境(如Node或Apache)的特定解决方案,请参阅下面的一些答案。

在过去的几天里,我一直在摆弄需求。我试图理解define和require之间的区别。

Define似乎允许模块分离,并允许遵循依赖顺序。但是它会下载所有需要的文件。而require只在你需要的时候装载你需要的东西。

这两者可以一起使用吗?它们各自应该用于什么目的?

我是Angular.js的新手,试图理解它与Backbone.js的不同之处……我们曾经在使用Backbone时使用Require.js来管理我们的包依赖关系。对Angular.js做同样的事情有意义吗?

我仍然对CommonJS, AMD和RequireJS很困惑,即使在阅读了很多之后。

我知道CommonJS(以前的ServerJS)是一个定义JavaScript语言在浏览器外使用时的一些规范(即模块)的组织。CommonJS模块规范有一些实现比如node。js或者RingoJS,对吧?

CommonJS,异步模块定义(AMD)和RequireJS之间的关系是什么? RequireJS是CommonJS模块定义的实现吗?如果是,AMD是什么?