首页 > requirejs中对于具有较为统一的js目录结构,如何简化paths路径的设置?

requirejs中对于具有较为统一的js目录结构,如何简化paths路径的设置?

就是现在我有如下的工作目录。

我的配置是这样的

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>)。

【热门文章】
【热门文章】