Last modified: 2014-11-18 20:51:11 UTC
First impressions count! You can make the initial experience of loading VE substantially faster by prefetching the modules on a standard article page if the DOM isn't busy. What I have in mind is something like this: $( window ).load( function () { if ( !mw.loader.store.enabled ) { return; } setTimeout( function () { var modules = [ 'ext.visualEditor.base', 'ext.visualEditor.core' 'ext.visualEditor.data', 'ext.visualEditor.icons-vector', 'ext.visualEditor.mediawiki', 'ext.visualEditor.viewPageTarget', 'ext.visualEditor.viewPageTarget.icons-vector', ] mw.loader.using( modules.filter( function ( module ) { var key = mw.loader.store.getModuleKey( module ); return key in mw.loader.store.items; } ) ); }, 0 ); } ); You'd need to ensure that the modules don't execute automatically somehow.
It's fine for them to execute automatically, nothing happens until .activate() is invoked.