Bunun eski bir gönderi olduğunu biliyorum, ancak web paketi komut dosyası yükleyicisinin bu durumda da yararlı olabileceğini belirtmenin faydalı olacağını düşündüm. Web paketi belgelerinden:
"script: Bir JavaScript dosyasını genel bağlamda bir kez çalıştırır (komut dosyası etiketinde olduğu gibi), gerekenler ayrıştırılmaz."
http://webpack.github.io/docs/list-of-loaders.html
https://github.com/webpack/script-loader
Bunu, JS satıcı dosyalarını ve uygulama dosyalarını bir arada birleştiren eski yapı işlemlerini taşırken özellikle yararlı buldum. Bir uyarı kelimesi, komut dosyası yükleyicinin yalnızca aşırı yükleme yoluyla çalışıyor gibi göründüğü require()ve bir webpack.config dosyasında belirtilerek anlayabildiğim kadarıyla çalışmadığıdır. Birçoğu aşırı requireyüklemenin kötü bir uygulama olduğunu iddia etse de, satıcıyı ve uygulama komut dosyasını tek bir pakette birleştirmek ve aynı zamanda ek web paketi paketlerine takılması gerekmeyen JS Globals'ı ortaya çıkarmak için oldukça yararlı olabilir. Örneğin:
require('script!jquery-cookie/jquery.cookie');
require('script!history.js/scripts/bundled-uncompressed/html4+html5/jquery.history');
require('script!momentjs');
require('./scripts/main.js');
Bu, $ .cookie, History ve moment'i bu paketin içinde ve dışında küresel olarak kullanılabilir hale getirir ve bu satıcı kitaplıklarını main.js komut dosyasıyla ve tüm require d dosyalarıyla .
Ayrıca, bu teknikle yararlı olan:
resolve: {
extensions: ["", ".js"],
modulesDirectories: ['node_modules', 'bower_components']
},
plugins: [
new webpack.ResolverPlugin(
new webpack.ResolverPlugin.DirectoryDescriptionFilePlugin("bower.json", ["main"])
)
]
Bower kullanan, mainher required libraries package.json dosyasındaki dosyaya bakacaktır . Yukarıdaki örnekte History.js mainbelirtilmiş bir dosyaya sahip değildir , bu nedenle dosyanın yolu gereklidir.
newöncewebpack.ProvidePluginwebpack.github.io/docs/list-of-plugins.html