编程语言
首页 > 编程语言> > javascript – 你应该在RequireJS上使用IIFE吗?

javascript – 你应该在RequireJS上使用IIFE吗?

作者:互联网

似乎如果你使用的是RequireJS并且你使用了define和require,那么也没有使用IIFE的意义,因为每个模块已经包含在define / require中.是这样的吗?

换句话说,这个代码

define(['app'], function(app)
{
    app.run();
});

有任何区别/优势

(function() { 

    define(['app'], function(app) 
    {
        app.run();
    });

})();

解决方法:

无论如何,define()函数都在Global范围内,因此在IIFE中调用它根本没有任何区别,而且它有点多余.

如果将代码置于define回调之外,则会有所不同,但您不应该这样做,因为每个文件应代表一个封装模块.

我唯一能想到使用带有RequireJS的IIFE可能是在我通过在初始化之前调用require.config()来配置我的应用程序时;但即便如此,如果我只是调用require.config()并且外部没有任何代码,我仍然不会使用IIFE.

在这个例子中,没有必要使用IIFE:https://github.com/vasilionjea/bower-requirejs-starter/blob/master/local/js/main.js

我希望能回答你的问题.

标签:javascript,requirejs,iife
来源: https://codeday.me/bug/20190624/1276555.html