Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Requirejs 对不同的模块使用不同的配置选项_Requirejs - Fatal编程技术网

Requirejs 对不同的模块使用不同的配置选项

Requirejs 对不同的模块使用不同的配置选项,requirejs,Requirejs,在我的require.js配置中,我使用了urlArgs:“bust=“+(new Date()).getTime(),,以确保我的模块脚本在开发过程中根本没有被缓存(这样做的效果是为每个请求添加一个唯一的查询参数,因此它看起来像是一个不同的资源) 但是,我使用的几个第三方库根本没有改变,我希望缓存它们以加速加载和整个开发周期。是否有一种方法仅将缓存破坏配置应用于某些模块,例如基于路径?使用urlArgs选项。这意味着在上下文中,所有模块都将共享该选项,但是混合上下文会比它的价值更麻烦:定义两组

在我的require.js配置中,我使用了
urlArgs:“bust=“+(new Date()).getTime(),
,以确保我的模块脚本在开发过程中根本没有被缓存(这样做的效果是为每个请求添加一个唯一的查询参数,因此它看起来像是一个不同的资源)


但是,我使用的几个第三方库根本没有改变,我希望缓存它们以加速加载和整个开发周期。是否有一种方法仅将缓存破坏配置应用于某些模块,例如基于路径?

使用
urlArgs
选项。这意味着在上下文中,所有模块都将共享该选项,但是混合上下文会比它的价值更麻烦:定义两组配置选项是不够的,但是不同的模块需要不同的要求,并且来自不同上下文的模块不能在单个依赖项列表中列出

然而,下面是一个如何实现这一点的示例():

//默认上下文
require.config({
urlArgs:“boost=“+(新日期()).getTime(),
路径:{
jquery://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min,
}
});
//缓存(非增强)上下文
var reqCached=require.config({
上下文:“缓存”,
路径:{
jquery://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min,
}
});
//定义一个模块“inline”,通常它会进入/main.js
定义(“main”、[“jquery”]、函数($){
$(“body”).append(“jquery”);
reqCached([“jquery”],函数($){
$(“body”).append(“缓存的jquery”);
});
});
//引导“应用程序”-加载并执行主模块
requirejs([“main”],函数(main){
});

在开发人员工具中,您可以看到这个精心设计的示例加载了两个版本的jquery—一个是缓存增强版(“主”模块的依赖项),另一个是普通版(在
reqCached
上下文中手动需要)。唉,不可能——或者我不知道有什么办法——混合和匹配这两个上下文,以便它们透明地提供不同的模块集。

我很确定OP要求的是一个实用的解决方案,而不是一个概念证明(例如使用上下文),当投入使用时,维护将变成一场噩梦。别误会我的意思:上下文有它们的用途。将一个应用程序拆分为两个,以便能够使用不同的
urlArgs
。我明确声明该方案不可用:-)