imkost:load-order
package allows to:
- Create file load order rules
- Create rules for separating client and server code
http://github.com/imkost/load-order
Want starter.js
and reset.css
files to be loaded before others?
loadOrder.config.getLoadOrderIndex = function(filepath, filename) {
if (filename === 'application-starter.js' || filename === 'reset.css') {
return 0;
}
return 1;
}
Want *.client.js
files to be served only to client and *.server.js
files to server?
loadOrder.config.getLocus = function(filepath, filename, ext) {
if (ext === 'js') {
if (filename.indexOf('.client.js') >= 0) {
return 'client';
}
if (filename.indexOf('.server.js') >= 0) {
return 'server';
}
return 'shared';
}
return 'client';
}
Want CSS for elements (person__name.css
, person__address.css
) to be loaded after CSS for blocks (person.css
)?
loadOrder.config.getLoadOrderIndex = function(filepath, filename, ext) {
if (ext === 'css' && filename.indexOf('__') >= 0) {
return 1;
}
return 0;
}