ember.js - Usando LoDash con EmberCLI
ember-cli (3)
¿Alguien tiene un ejemplo de trabajo de un proyecto de aplicación ember (simple) creado usando Ember-CLI que usa LoDash? (Por ejemplo: quiero usar lodash, _.someLodashFunc, en mis Rutas y Controladores).
No he visto ningún hilo / artículo en la web que brinde una explicación clara y paso a paso sobre cómo hacerlo.
Si es posible con lodash v3.0.0 (y estoy usando el último ember-cli, v0.1.9).
Gracias, Raka
Descubrí cómo, necesitas generar una compilación personalizada de lodash (el "lodash moderno"). Use lodash-cli: https://lodash.com/custom-builds
En la consola de comandos, escriba: lodash modern ... y obtendrá un archivo javascript generado: lodash.custom.js
Coloque ese archivo en el directorio "proveedor" de su proyecto ember-cli.
Modifique el Brocfile, agregue esto:
app.import(''vendor/lodash.custom.js'', {
''lodash'': [
''default''
]
});
Y eso es todo ... no tiene que hacer "importar _ desde ''lodash''" en ninguno de sus archivos js. De hecho, no hagas eso (obtendrás un error). _ _ Var está disponible.
Por ejemplo, tengo un objeto Route como este:
import Ember from ''ember'';
export default Ember.Route.extend({
model: function() {
console.log(''hohoho: '' + _.chunk([''a'', ''b'', ''c'', ''d''], 2));
return Ember.Object.create({name: ''Raka''});
}
});
Y pude ver que hohoho:, b, c, d se imprimieron en la consola de JavaScript cuando visité esa ruta.
CORRECCIÓN
Realmente no necesitas ese lodash-cli.
Lo he intentado de esta manera (creo que es más apropiado):
- bower install lodash --save
- En Brocfile.js, tenga esta línea: app.import (''bower_components / lodash / lodash.js'');
Eso es. _ está automáticamente disponible en sus Enrutadores / Controladores.
Hice lo mismo con d3:
- bower install d3 --save
- En Brocfile.js, tenga esta línea: app.import (''bower_components / d3 / d3.js'');
Y la variable llamada ''d3'' está automáticamente disponible.
Se agregó un enlace relacionado:
- Importar biblioteca personalizada en ember-cli
- http://tiku.io/questions/2866484/how-to-include-a-local-javascript-im-ember-cli-application (cita: si no los necesita miniaturizados en su archivo vendor.js, puede ponerlos en public / js y luego incluirlo como un archivo de script normal en app / index.html. Utilizo este método para algunas bibliotecas como moment.js. La carpeta pública se copia directamente a la raíz de su sitio durante la compilación. )
- ¿La forma correcta de acceder a libs de terceros como D3 en Ember CLI?
El complemento de ember-lodash sería la mejor mascota. ( https://www.npmjs.com/package/ember-lodash )
instalar addon: ember install ember-lodash
Para incluir funciones de cadena solo
import _string from ''lodash/string'';
let truncatedString = _.trunc(rawString);
Para incluir toda la biblioteca Lodash,
import _ from ''lodash/lodash'';
let truncatedString = _.trunc(rawString);
Puede instalar la última versión estable usando Bower. En el directorio raíz de su proyecto, ejecute:
bower install lodash --save
Luego, impórtelo usando Brocolli agregando esta línea en su Brocfile.json
algún lugar después de var app = new EmberApp( ...
:
app.import(''bower_components/lodash/lodash.js'');
Puede usar algo listo: https://github.com/levanto-financial/ember-lodash o hacerlo manualmente.
No tengo ningún ejemplo, pero debería ser tan fácil como modificar estos 3 archivos:
bower.json
Solo agregue la línea
"lodash": "4.16.4",
a sus dependencies
y ejecute bower install
en su línea de comando.
Alternativamente, puede instalarlo a través de bower
:
$ bower install lodash --save
Brocfile.js
Para ser incluido en las fuentes por Broccoli:
app.import(''bower_components/lodash/lodash.js'');
agregue esto en algún lugar después de var app = new EmberApp();
.jshint.rc
Agrega la línea:
"_": true,
en algún lugar de la sección predef
(si no quiere ver las advertencias como _ is undefined
).
No lo he probado, pero espero que ayude :)