javascript - Require.js continues to load uncompressed modules after optimization -


i've run r.js optimizer , seems working properly. trouble i'm having while compressed optimized version loads continues load uncompressed modules. reason why happen?

enter image description here build.js

{ appdir: '../static', mainconfigfile: '../static/javascript/config.js', dir: '../public', baseurl: 'javascript/libs', usestrict: false, wrap: false, optimizecss: "standard", optimize: "uglify2", generatesourcemaps: false, preservelicensecomments: false, uglify2: {     "screw-ie8": true,     warnings: false,     mangle: true }, throwwhen: {     optimize: true }, pragmasonsave: {}, modules: [      {         name: '../front',         include: ['views/front/main'],         exclude: ['../config']     }      ,      {         name: '../portal',         include:  ['views/portal/main'],         exclude: ['../config']     }      ,      {         name: '../survey',         include:  ['views/survey/main'],         exclude: ['../config']      }  ] } 

config.js

require.config({   baseurl: '/javascript/libs',   urlargs: 'v=' + (new date()).gettime(),   enforcedefine: false,   paths: {     collections: '../collections',     etc: '../etc',     models: '../models',     views: '../views',     templates: '../../templates',     backbone: 'backbone',     underscore: 'lodash',     'underscore.string': 'underscore.string',   },   shim: {     backbone: {       deps: ['jquery', 'underscore'],       exports: 'backbone'     },     underscore: {       deps: ['jquery', 'underscore.string'],       exports: '_'     },   } }); 

the config loaded so:

<script data-main="/javascript/portal-v2.0.0.js" src="/javascript/libs/require.js"></script> 

and portal.js looks this:

require(['./config'], function() {   return require(['views/portal/main']); }); 

you start loading application this:

<script data-main="/javascript/portal-v2.0.0.js" src="/javascript/libs/require.js"></script> 

what schedule loading of portal-v2.0.0.js file. however, actual loading happens @ indeterminate point in future. (by way, should not put .js @ end of module names. value of data-main module name, no .js there. can cause subtle problems.)

as evidenced loading patterns get, time following code executes, above module has not loaded:

require(['./config'], function() {   return require(['views/portal/main']); }); 

when requirejs gets require(['views/portal/main']), finds , loads individual module instead of bundle.

the solution here add following runtime configuration:

bundles: {     '/javascript/portal-v2.0.0': ['views/portal/main'], } 

this tells requirejs when require module named views/portal/main, should in same place module named /javascript/portal-v2.0.0 located. (and remember remove .js extension data-main.) not need list modules in portal-v2.0.0 there, requiring outside portal-v2.0.0. note same true other bundles if of modules required outside of them, must list these modules in appropriate bundles settings.

you should removecombined remove individual files output directory , keep optimized bundles.


Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -