¿Cómo utilizar la syntax de los cargadores de paquetes web (importa / exporta / expone) con las importaciones ECMAScript 6?

Estoy usando Webpack y Babel para construir un proyecto Angular1.4, escrito en la syntax ECMA6. Me gustaría usar la syntax del módulo de import / export default ECMAScript 6, pero a veces tengo que usar cargadores Webpack, como expose para exponer módulos a nivel mundial (por ejemplo, jquery, se requiere que sea un objeto global por angular): require("expose?jquery!jquery") .

¿Hay una manera de escribir las importaciones ECMAScript6 con los cargadores Webpack? Algo como:

 import "expose?jquery!jquery" 

No puedo combinar las llamadas require() con las llamadas de import , porque las imports suben a la parte superior del módulo y rompen el orden de carga de dependencia. P.ej

 require("expose?jquery!jquery); import angular from "angular"; 

Transstack a:

 var angular = require("angular"); require("expose?jquery!jquery); 

lo que rompe la construcción, porque window.jquery es requerido por mis directivas angulares que esperan que angular.element sea jquery completo, no jqLite de angular.

Y require saltos con módulos, exportados con exports default .

¿Por qué no le das una oportunidad al plugin Provide de Webpack?

En su webpack.config.js :

 var webpack = require('webpack'); // Remember to install webpack locally with `npm install webpack` module.exports = { ... plugins: [ new webpack.ProvidePlugin({ jQuery: 'jquery' }) ], ... } 

De esta forma, tendrá jQuery como global en todo su proyecto sin tener que solicitarlo manualmente.

Edición: uso jQuery con la Q mayúscula, por supuesto, eres libre de usarlo todo en minúsculas. ¡También deberías poder usar ambos!

Edición 2: Otra cosa que vale la pena mencionar es que no es que Webpack se rompa con la opción de export default y export default , sino que Babel ha corregido una idea errónea en la versión 6: si desea utilizar require con un módulo ES6 / 7, debe solicitar la default exportar, por lo que require('myModule').default . En general, solo debe usar require con los módulos CommonJS, mientras que puede usar la import con (casi) todo.