2016-04-10 13 views
0

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

  1. Wann verwenden wir webpack-dev-server? Ist es eine Art Server, der meinen express Code ausführt, wenn ja dann wie unterscheidet es sich vom normalen express Server.

  2. Wie debugge ich serverseitigen Code, wenn ich webpack --watch ausführen.

  3. 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.

Antwort

1

Wann verwenden wir webpack-dev-Server? Ist es eine Art Server, auf dem mein Express-Code läuft? Wenn ja, wie unterscheidet er sich dann vom normalen Express-Server?

Sie könnten etwas ähnliches über Express selbst mit webpack-dev-middleware bauen. Das nutzt der webpack-dev-server schließlich. Es gibt auch Nettigkeiten wie Proxying, HTML5 History Fallback und solche gebündelt. Bei webpack-dev-server geht es nur um Komfort.

Wie kann ich server Code debuggen, wenn ich laufe webpack --watch

Ich erwarte, dass Sie konnte Benutzer Node debugger oder node-inspector.

ich durch jemandes git Repo gehen und ich auf diesen Code kam: ...

Sieht aus wie der Autor DEBUG wird mit der Konfiguration zu steuern, so dass Sie HMR und Debugging im Zusammenhang Bits erhalten aktiviert für Debug (Entwicklung) Verwendung. Während der Produktion werden diese übersprungen. Dieser Abschnitt entry wird von webpack-dev-server benötigt, sofern Sie ihn nicht im Inline-Modus ausführen.

Es gibt andere, vielleicht bessere Möglichkeiten, um das gleiche Ergebnis zu erzielen.

+0

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? –

+1

'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. –

Verwandte Themen