ember-cli - started - ember startup
¿Cómo importar un módulo amd en ember-cli? (3)
Estoy construyendo una aplicación EmberJS con la gran ayuda de ember-cli
, lo cual es genial, pero tengo un error y no puedo encontrar lo que estoy haciendo mal.
Esto es lo que hago en mi archivo de brócoli:
app.import(''vendor/underscore/underscore.js'', {
exports: {
"underscore": [
"underscore"
]
}
});
y luego en uno de mis controladores:
import _ from "underscore";
ember-cli
construye mi aplicación.
Pero cuando voy al controlador usando el guión bajo, me sale el error:
Error: No se pudo encontrar el guión bajo del módulo.
¿Qué estoy haciendo mal?
Conseguí esto de bloqueos en #emberjs IRC.
https://github.com/ef4/ember-browserify
En tu proyecto:
npm install --save-dev ember-browserify
npm install --save-dev underscore
En su controlador:
import _ from "npm:underscore";
Entonces puedes usar _. Por ejemplo: _.each([1,2,3], alert);
. Saqué todo lo que había añadido manualmente a brocfile y package.json. Al parecer esto lo hará por ti. ¡Loco!
En versiones recientes de brasa (estoy usando 2.11) es posible cargar AMD en envoltorios UMD usando
app.import(''bower_components/js-md5/js/md5.js'', {using: [{
transformation: ''amd'', as: ''js-md5''
}]});
Y en tu codigo
import md5 from ''js-md5'';
En su caso de subrayado debe verse como:
app.import(''vendor/underscore/underscore.js'', {using: [{
transformation: ''amd'', as: ''underscore''
}]});
Tratar:
app.import({
development: ''vendor/underscore/underscore.js'',
production: ''vendor/underscore/underscore.min.js''
}, {
''underscore'': [
''default''
]
});
Esto le dará al menos "importar _ desde ''guión bajo'';" una oportunidad de trabajar Si elige una versión AMD o ES6 de guión bajo / lodash, enumere qué módulos desea importar con ''predeterminado''.
EDITAR:
¿Es crucial que uses guiones bajos? Por qué pregunto, estoy usando lodash con un proyecto Ember-cli, y está funcionando bien.
Console> bower install lodash --save
luego en brocfile:
app.import({
development: ''vendor/lodash/dist/lodash.js'',
production: ''vendor/lodash/dist/lodash.min.js''
}, {
''lodash'': [
''default''
]
});
//or:
app.import(''vendor/lodash/dist/lodash.min.js'');
En cuanto al subrayado, hubo un problema con devDependencies que no se agruparon, de los cuales el subrayado es uno.