ember.js - started - {{content-for ''head''}} Ember-cli
ember startup (2)
He estado utilizando el generador de brasas Yeoman durante el último mes y ahora, me gustaría darle una oportunidad a ember-cli.
Ejecuto el generador y lanzo la aplicación, todo funciona bien.
ember new my-new-app
ember server
pero me gustaría saber cómo
{{content-for ''head''}}
en la aplicación / index.html funciona?
Al ver otros ejemplos de http://www.ember-cli.com/#tutorials , ¿ninguno de ellos está utilizando este ayudante en particular? ¿Es porque están usando una versión anterior de ember-cli? ¿Por qué no estaban usando este contenido, para ayudar?
Estoy bastante seguro de que ember.js no tiene este contenido -para el ayudante por defecto, así que supongo que Ember-Cli lo escribió en alguna parte. ¿Dónde está y para qué sirve?
Además, cuando inspecciono el elemento de mi página de nueva aplicación, ¿apareció la etiqueta div de ''Bienvenido a Ember.js'' en la etiqueta del cuerpo en lugar de la etiqueta de la cabeza? ¿Cómo es eso posible? {{alucinado}}
(en la aplicación / index.html, {{content-for ''head''}} se coloca dentro de la etiqueta head)
De la guía Ember CLI :
app / index.html
El archivo
app/index.html
sienta las bases para su aplicación. Aquí es donde se establece la estructura básica de DOM, se establece el atributo de título y se incluye stylesheet / javascript includes. Además de esto,app/index.html
incluye varios enlaces -{{content-for ''head''}}
y{{content-for ''body''}}
- que pueden ser utilizados por Addons para inyectar contenido en lahead
la aplicación obody
Estos ganchos deben dejarse en su lugar para que su aplicación funcione correctamente, pero se pueden ignorar de manera segura a menos que trabaje directamente con un complemento en particular.
De hecho, estaba buscando de dónde proviene Welcome to Ember.js
(que obviamente está en la app/templates/application.hbs
), pero primero tropecé con el content-for
ayudantes.
Recientemente se agregó a ember-cli en base a esta discusión .
Aquí está el código relevante de la commit :
EmberApp.prototype.contentFor = function(config, match, type) {
var content = [];
if (type === ''head'') {
content.push(calculateBaseTag(config));
content.push(''<meta name="'' + config.modulePrefix + ''/config/environment" '' +
''content="'' + escape(JSON.stringify(config)) + ''">'');
}
content = this.project.addons.reduce(function(content, addon) {
if (addon.contentFor) {
return content.concat(addon.contentFor(type, config));
}
return content;
}, content);
return content.join(''/n'');
};