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