如何停止在require.js加载模块中添加min.js.

时间:2016-09-06 07:09:44

标签: javascript jquery node.js requirejs

我一直在尝试将socket.io加载到我的代码中。似乎需要始终添加-min.js作为扩展名。我想覆盖这个配置。任何人都可以指导我如何做到这一点吗?

需要在require js中删除min.js的添加。

var myRequire = require.config({
            paths: {
                'socketio': ['//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io']
            }


        });

        myRequire(['socketio'], function(io) {
            console.log(io);
            var socket = io.connect('http://10.0.1.112:3000');
            console.log('socket connected');
            socket.on('message', function(data) {
           console.log(data);
            });
        });

所以它试图加载

http://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io-min.js?version=20151012172132 

我想覆盖配置以加载.js文件而不是-min.js。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这个问题并不新鲜,但我处于暂停项目中我们无法使用r.js,因此我使用Fine grained URL control

请参阅生产中添加.min的示例(无调试):

if (!debug) {
    var load = requirejs.load;
    requirejs.load = function (context, moduleId, url) {
        //modify url here, then call original load
        let splited = url.split('.');
        if (splited[splited.length - 1] === 'js' && splited[splited.length - 2] !== 'min') {
            splited[splited.length - 1] = "min.js";
            url = splited.join('.');
        }
        return load(context, moduleId, url);
    };
}
//Call your first module