就是现在我有如下的工作目录。
- js
- jquery
- jquery.js
- jquery.min.js
- backbone
- backbone.js
- backbone.min.js
- underscore
- underscore.js
- underscore.min.js
- jquery
我的配置是这样的
require.config({
paths: {
jquery: 'js/jquery/jquery',
backbone: 'js/backbone/backbone',
underscore: 'js/underscore/underscore'
}
});
现在我想实现这样的功能
require(['jquery','backbone','underscore']);
分别加载对应的文件
但是我觉得这样设置太麻烦了,而且一旦需要加入其他的文件就需要再写一个,有没有什么方法可以简化这种设置?
paths
属性本来就是给路径加别名的方法吧,正常的应该是先设置 baseUrl
啊...
require.config({
baseUrl: "./js",
});
/* 然后引用的时候就是 */
require(["jquery/jquery", "backbone/backbone", "undescore/underscore"]);
然后你觉得老要写前缀很麻烦,所以你就给了个别名:
require.config({
baseUrl: "./js",
paths: {
jquery: "jquery/jquery",
backbone: "backbone/backbone",
underscore: "underscore/underscore"
}
})
然后就成了你题目中的那个样子了,但是你平常引用别的文件的时候还是可以正常的用路径的形式的嘛,又没说非得要用别名…
在你的入口文件中加入上边的配置文件就可以了吧。
如果你说的加入的是多个入口文件的话,然后还需要有统一配置的话,可以考虑把配置文件单独为一个文件例如baseConfig这样的,然后只需要保证在入口文件之前加载了baseConfig就好了(例如,可以把baseConfig做成插件就可以了,然后就可以 <script data-main="baseConfig!/path/to/main" src="require.js"></script>
)。