So che questo è un vecchio post, ma ho pensato che sarebbe stato utile menzionare che il caricatore di script webpack potrebbe essere utile anche in questo caso. Dai documenti del webpack:
"script: esegue un file JavaScript una volta nel contesto globale (come nel tag script), i requisiti non vengono analizzati."
http://webpack.github.io/docs/list-of-loaders.html
https://github.com/webpack/script-loader
L'ho trovato particolarmente utile durante la migrazione di processi di compilazione precedenti che concatenano file di fornitori JS e file di app insieme. Un avvertimento è che il caricatore di script sembra funzionare solo tramite il sovraccaricorequire() e non funziona per quanto posso dire essendo specificato all'interno di un file webpack.config. Sebbene molti sostengano che il sovraccarico requiresia una cattiva pratica, può essere abbastanza utile per conciliare il fornitore e lo script dell'app in un unico pacchetto e allo stesso tempo esporre JS Globals che non devono essere spessorati in bundle webpack aggiuntivi. Per esempio:
require('script!jquery-cookie/jquery.cookie');
require('script!history.js/scripts/bundled-uncompressed/html4+html5/jquery.history');
require('script!momentjs');
require('./scripts/main.js');
Ciò renderebbe $ .cookie, History e moment disponibili a livello globale all'interno e all'esterno di questo bundle e raggrupperebbe queste librerie del fornitore con lo script main.js e tutti i suoi requirefile d.
Inoltre, utile con questa tecnica è:
resolve: {
extensions: ["", ".js"],
modulesDirectories: ['node_modules', 'bower_components']
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"])
)
]
che sta usando Bower, esaminerà il mainfile in ogni required librerie package.json. Nell'esempio precedente, History.js non ha un mainfile specificato, quindi è necessario il percorso del file.
newprima diwebpack.ProvidePluginwebpack.github.io/docs/list-of-plugins.html