Webpack-dev-server 使用示例

寫在開始

前面,我們學習了 webpack 的基礎使用,使用命令生成打包后的文件。
但是,每次修改代碼,都要重新運行命令...生成文件...刷新頁面,反復操作。

其實,可以使用 webpack-dev-server 可以很方便的做成服務端,可以完成自動刷新、熱替換等功能。

示例1:命令行

1、安裝

mkdir /你的工作目錄/app-demo
cd /你的工作目錄/app-demo
npm init
npm install webpack webpack-dev-server -g
npm install webpack css-loader style-loader --save-dev

2、創(chuàng)建測試文件

新建 app-demo/entry.js 文件:

require("./styles.css");
document.write('<h2>Hello ,Webpack Dev Server !!!</h2>');

新建 app-demo/styles.css 文件:

body {
    background: red;
}

3、運行

webpack-dev-server ./entry --hot --inline --module-bind "css=style\!css"

4、訪問 http://localhost:8080/bundle

此時,我們會看到頁面背景為紅色,可以修改為其他顏色,不用手動刷新可以自動熱更新。

示例2:配置文件

1、安裝

mkdir /你的工作目錄/app-demo-hmr
cd /你的工作目錄/app-demo-hmr
npm init
npm install webpack webpack-dev-server -g
npm install webpack css-loader style-loader --save-dev

2、創(chuàng)建測試文件

新建 app-demo-hmr/src/main.js 入口文件:

require("./styles.css");
document.write('<h2>Hello ,Webpack HMR !!!</h2>');

新建 app-demo-hmr/src/styles.css 文件:

body {
    background: red;
}

新建 app-demo-hmr/build/index.html 文件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script src="assets/bundle.js"></script>
</body>

</html>

新建配置文件 webpack.config.js

var path = require("path");
var webpack = require("webpack");
module.exports = {
    entry: {
        app: ["./src/main.js"]
    },
    output: {
        path: path.resolve(__dirname, "build/"),
        publicPath: "/assets/",
        filename: "bundle.js"
    },
    module: {
        loaders: [{
            test: /\.css$/,
            loader: 'style!css'
        }]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ],
    devServer: {
        contentBase: 'build/',
        inline: true,
        hot: true
    }
};

4、運行命令

webpack-dev-serve

5、訪問 http://localhost:8080/

Paste_Image.png

可以看到,項目已啟動,可以正常訪問。并且,在控制臺中啟動了熱替換。

參考
https://segmentfault.com/a/1190000006964335
http://www.tuicool.com/articles/aiEva2Q

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容