Precompile inline templates

Removing the in-browser compiler will save up to 30 kB (after
minification + gzipping) and boost startup performance. Win!
This commit is contained in:
Toby Zerner 2015-03-28 17:37:41 +10:30
parent 5028f6e877
commit 502fd14b50
4 changed files with 8 additions and 10 deletions

View File

@ -2,13 +2,7 @@
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var app = new EmberApp({
vendorFiles: {
'handlebars.js': null
}
});
app.import('bower_components/ember/ember-template-compiler.js');
var app = new EmberApp();
app.import('bower_components/bootstrap/dist/js/bootstrap.js');
app.import('bower_components/spin.js/spin.js');

View File

@ -32,7 +32,8 @@ export default DropdownButton.extend(HasItemLists, {
if (this.get('user.groups').findBy('id', '1')) {
items.pushObjectWithTag(Ember.Component.extend({
tagName: 'li',
layout: precompileTemplate('<a href="'+config.baseURL+'admin" target="_blank">{{fa-icon "wrench"}} Administration</a>')
baseURL: config.baseURL,
layout: precompileTemplate('<a href="{{baseURL}}admin" target="_blank">{{fa-icon "wrench"}} Administration</a>')
}));
}

View File

@ -3,6 +3,8 @@ import Ember from 'ember';
import HasItemLists from 'flarum/mixins/has-item-lists';
import UserBio from 'flarum/components/user/user-bio';
var precompileTemplate = Ember.Handlebars.compile;
export default Ember.Component.extend(HasItemLists, {
layoutName: 'components/user/user-card',
classNames: ['user-card'],
@ -73,13 +75,13 @@ export default Ember.Component.extend(HasItemLists, {
tagName: 'li',
classNames: ['user-last-seen'],
classNameBindings: ['hidden', 'user.online:online'],
layout: Ember.Handlebars.compile('{{#if user.online}}{{fa-icon "circle"}} Online{{else}}{{fa-icon "clock-o"}} {{human-time user.lastSeenTime}}{{/if}}'),
layout: precompileTemplate('{{#if user.online}}{{fa-icon "circle"}} Online{{else}}{{fa-icon "clock-o"}} {{human-time user.lastSeenTime}}{{/if}}'),
user: this.get('user'),
hidden: Ember.computed.not('user.lastSeenTime')
}), 'lastActiveTime');
items.pushObjectWithTag(Ember.Component.extend({
layout: Ember.Handlebars.compile('Joined {{human-time user.joinTime}}'),
layout: precompileTemplate('Joined {{human-time user.joinTime}}'),
user: this.get('user')
}), 'joinTime');
}

View File

@ -34,6 +34,7 @@
"ember-dynamic-component": "0.0.4",
"ember-export-application-global": "^1.0.2",
"ember-json-api": "eneuhauser/ember-json-api",
"broccoli-ember-inline-template-compiler": "tobscure/broccoli-ember-inline-template-compiler#f884d11",
"express": "^4.8.5",
"glob": "^4.0.5"
}