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/4/oop/2.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 在RequireJS配置中预定义AMD模块依赖项_Javascript_Requirejs_Amd - Fatal编程技术网

Javascript 在RequireJS配置中预定义AMD模块依赖项

Javascript 在RequireJS配置中预定义AMD模块依赖项,javascript,requirejs,amd,Javascript,Requirejs,Amd,为了加载时间,我对预定义所有AMD模块依赖项感兴趣。这是因为目前,必须先加载模块文件,require.js才能计算出其依赖项。这里有一个例子来说明我的意思: 有没有办法用require.js做到这一点?我知道你可以为加垫片的模块定义依赖项,但你能为你自己的定制AMD模块定义依赖项吗?你正在寻找一些东西,你可以在传递给RequireJS的配置中加入这些东西,以满足你的需要。调用定义的模块没有类似于垫片。但是,您可以做的是将选项添加到配置中: deps: ['module', 'dep1', 'd

为了加载时间,我对预定义所有AMD模块依赖项感兴趣。这是因为目前,必须先加载模块文件,require.js才能计算出其依赖项。这里有一个例子来说明我的意思:


有没有办法用require.js做到这一点?我知道你可以为加垫片的模块定义依赖项,但你能为你自己的定制AMD模块定义依赖项吗?

你正在寻找一些东西,你可以在传递给RequireJS的配置中加入这些东西,以满足你的需要。调用
定义
的模块没有类似于
垫片
。但是,您可以做的是将选项添加到配置中:

deps: ['module', 'dep1', 'dep2', 'dep3']
这将告诉RequireJS立即开始加载您的模块和依赖项。您必须自己维护此列表,但
shim
也是如此


否则,您可以按照kryger在a:use中的建议,将
模块
构建到包含该模块及其所有依赖项的单个捆绑包中。无论何时加载
模块
,都会同时加载其所有依赖项。这比使用
deps
更有效,但如果您需要自己加载任何依赖项,可能会使事情稍微复杂一些。您必须使用runtime选项来告诉RequireJS这些模块在哪里。就像
deps
一样,你必须自己维护这个列表。

你不是在用r.js优化你的项目吗?它将把依赖项捆绑到一个文件中,解决您提到的加载问题。Kryger可能是对的,但是如果必须有
deps
configuration()。是的,但是如果
module
根据URL是可变的呢?我想我可以用一个巨大的开关盒来设置deps…嗯,
deps
实际上只是在调用
require.config
之后立即放置
require(['module'、'dep1'、'dep2'、'dep3'])
。因此,您可以忘记
deps
,使用一个开关,通过适当的模块集调用
require
。好吧,似乎没有一个完美的解决方案来解决我的问题,但是使用require调用而不回调,或者使用r.js都可以。