Eu sei que este é um post antigo, mas achei que seria útil mencionar que o carregador de script do webpack também pode ser útil neste caso. Dos documentos do webpack:
"script: executa um arquivo JavaScript uma vez no contexto global (como na tag de script), requer que não sejam analisados."
http://webpack.github.io/docs/list-of-loaders.html
https://github.com/webpack/script-loader
Achei isso particularmente útil ao migrar processos de construção mais antigos que concatam arquivos de fornecedores JS e arquivos de aplicativos. Uma palavra de advertência é que o carregador de script parece funcionar apenas com sobrecarga require()e não funciona, pelo que posso dizer, sendo especificado em um arquivo webpack.config. Embora muitos argumentem que a sobrecarga requireé uma prática ruim, pode ser bastante útil para conciliar o fornecedor e o script do aplicativo em um pacote e, ao mesmo tempo, expor JS Globals que não precisam ser reduzidos em pacotes de webpack adicionais. Por exemplo:
require('script!jquery-cookie/jquery.cookie');
require('script!history.js/scripts/bundled-uncompressed/html4+html5/jquery.history');
require('script!momentjs');
require('./scripts/main.js');
Isso tornaria $ .cookie, History e moment globalmente disponíveis dentro e fora deste pacote e agruparia essas bibliotecas de fornecedores com o script main.js e todos os seus requirearquivos d.
Além disso, é útil com esta técnica:
resolve: {
extensions: ["", ".js"],
modulesDirectories: ['node_modules', 'bower_components']
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"])
)
]
que está usando o Bower, examinará o mainarquivo em cada required bibliotecas package.json. No exemplo acima, History.js não tem um mainarquivo especificado, portanto, o caminho para o arquivo é necessário.
newantes dewebpack.ProvidePluginwebpack.github.io/docs/list-of-plugins.html