JS作为RequireJS中的单个JavaScript文件

JS作为RequireJS中的单个JavaScript文件,javascript,requirejs,Javascript,Requirejs,我正在使用RequireJS,但是我们的项目已经变得相当大了 requirejs([ 'util/utils', 'util/image_store', 'models/user_model', 'util/analytics' ],function() { /* do start here */ }); 我已经创建了初始组,并将这些文件连接在一起,因此现在我要执行以下操作: 安魂曲([ “initial_download.js” ],函数(){/*从这

我正在使用RequireJS,但是我们的项目已经变得相当大了

requirejs([
    'util/utils',
    'util/image_store',
    'models/user_model',
    'util/analytics'
    ],function() { /* do start here */ });
我已经创建了初始组,并将这些文件连接在一起,因此现在我要执行以下操作: 安魂曲([ “initial_download.js” ],函数(){/*从这里开始*/})

现在,我如何让其他文件知道,比如说使用模型/user_模型,他们自己不需要下载,需要已经定义好的模型

类似于假设的UserView.js:

define(['models/user_model'],function(UserModel) {
   function UserView() { /* */ }
});

我相信您可以使用Require.js优化器为您做到这一点:

我相信您可以使用Require.js优化器为您做到这一点:

连接文件时,需要将每个文件的内容包装到一个命名的
define
调用中。通过这种方式加载时,模块会自动恢复,就像从单个文件加载一样:

;(function() {

    define('util/utils',function(){
        return utilsObject
    })

    define('util/image_store',function(){
        return imageStoreObject
    })

    define('models/user_model',function(){
        return userModelObject
    })

    define('util/analytics',function(){
        return analyticsObject
    })

    // you need this to make this an AMD module.
    // it does not matter what it returns, as your
    // main payload is above.
    define(function(){})

})();

连接文件时,需要将每个文件的内容包装到一个命名的
define
调用中。通过这种方式加载时,模块会自动恢复,就像从单个文件加载一样:

;(function() {

    define('util/utils',function(){
        return utilsObject
    })

    define('util/image_store',function(){
        return imageStoreObject
    })

    define('models/user_model',function(){
        return userModelObject
    })

    define('util/analytics',function(){
        return analyticsObject
    })

    // you need this to make this an AMD module.
    // it does not matter what it returns, as your
    // main payload is above.
    define(function(){})

})();