que - librerias de javascript
¿Cuál es una buena manera de incluir una biblioteca no común de JJ en el contexto de la Webpack? (1)
Quiero incluir una biblioteca JS externa y no común que defina un módulo AngularJS.
¿Cuál es la forma correcta de hacerlo ya que obviamente no puedo escribir?
import MyLibrary from ''MyLibraryPath''
angular.module(''MyApp'', MyLibrary)
EDITAR---------
Acabo de hacer:
require(''path/myLibrary.js''); angular.module(''MyApp'', ''moduleName'');
y funciona.
¿Es una buena práctica?
Sí, está bien si la biblioteca no exporta la propiedad del name
del módulo angular. Angular no se diseñó con módulos JS en mente y originalmente promueve el estilo de definición de módulos angular.module(''MyApp'', [''moduleName''])
.
Exportar name
de los módulos es una convención relativamente popular, especialmente porque uno puede hacer
import * as MyLibrary from ''MyLibraryPath'';
y usarlo como
angular.module(''MyApp'', [MyLibrary]);
Si no hay exportación de módulos, puede tratarse con exportadores y cargadores de Webpack.
module: {
loaders: [
{
loader: ''exports-loader'',
test: /path//myLibrary/.js$/,
query: ''"moduleName"''
}
],
},
configuración, que básicamente agrega module.exports = "moduleName";
al módulo.
Usa este truco para solucionarlo temporalmente si planeas PR / crear un problema para las bibliotecas que no exportan el name
. No recomendaría hacer las compilaciones más complicadas solo para mantener el código constante.