Ich habe kürzlich webpack
erkunden und stieß auf ein paar Dinge, die ich nicht richtig verstehen konnte. Ich habe versucht, die Antworten zu finden, konnte aber keine richtige Antwort bekommen. Also hier sind meine Zweifel:Webpack erweiterte Verwendung
Wann verwenden wir
webpack-dev-server
? Ist es eine Art Server, der meinenexpress
Code ausführt, wenn ja dann wie unterscheidet es sich vom normalenexpress
Server.Wie debugge ich serverseitigen Code, wenn ich
webpack --watch
ausführen.Ich wollte durch git Repo jemand und ich auf diesen Code kam:
export default(DEBUG, PATH, PORT=9000) => ({ entry: (DEBUG ? [ 'webpack-dev-server/client?http://localhots:9000', 'webpack/hot/dev-server' ] : []). concat([ '.src/theme/theme.less', 'babel/polyfill', 'whatwg-fetch', './src/main' ]), output: { // some output path was given here. }, cache: DEBUG, debug: DEBUG, devtool: DEBUG && "eval-source-map", // some other modules and loaders were here. plugins: DEBUG ? [ new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin() ] : [ new webpack.DefinePlugin({'process.env.NODE_ENV': '"production"'}), new ExtractTextPlugin("style.css", {allChunks: false}), new webpack.optimize.DedupePlugin(), new webpack.optimize.UglifyJsPlugin({ compressor: {screw_ie8: true, keep_fnames: true, warnings: false}, mangle: {screw_ie8: true, keep_fnames: true} }), new webpack.optimize.OccurenceOrderPlugin(), new webpack.optimize.AggressiveMergingPlugin() ] })
- Ich konnte nicht verstehen, was genau bei
entry
geschieht. - Was ist das
DEBUG
, es wird fast überall verwendet.
- Ich konnte nicht verstehen, was genau bei
Danke für die Antwort! Ich habe noch einige Zweifel, mein Server läuft ziemlich gut, wenn ich 'webpack --watch' verwende, warum brauche ich dann' webpack-dev-server'. Könntest du bitte etwas genauer erläutern, was genau bei 'entry' passiert, wie' DEBUG' bei der Steuerung von Konfigurationen für HMR hilft? –
'webpack-dev-server' ist sehr praktisch mit [HMR] (https://webpack.github.io/docs/hot-module-replacement.html). Esp. mit React ist es besser als LiveReload. Wenn 'webpack --watch' für dich funktioniert, reicht das vielleicht. In diesem Fall wird die "Eingabe" -Konfiguration das gesamte Array in ein einziges Bündel fassen. Ich müsste mehr Code sehen, um "DEBUG" genauer zu erklären. Es gibt wahrscheinlich separate Dateien, die zur Steuerung der Flagge verwendet werden. –