二、使用webpack-dev-serve 和 HtmlWebp

2020-07-05  本文已影响0人  自己写了自己看

1、通过 webpack-dev-serve 搭建开发服务

1、安装 webpack-dev-server
- yarn add webpack-dev-server -D

2、配置
 devServer: {
      contentBase: path.join(__dirname, 'dist'),
      port: 8080,
      host: 'localhost',
      compress: true,
      open: true
},

3、通过npx运行开发服务
- npx webpack-dev-server 可以运行开发服务

4、通过添加脚本 简化命令
"scripts": {
    "build": "webpack",
    "dev": "webpack-dev-server"
 }

5、此时通过webpack-dev-server搭建的本地服务的根目录实在dist目录下,
此时dist目录没有HTML文件可以打开,因此服务运行后得到的是:
 Cannot GET /

2、HtmlWebpackPlugin 插件的使用

1、作用:
- HtmlWebpackPlugin插件的作用是可以在打包的时候生成一个HTML文件,并
- 将打包完成后的css、js文件自动引入到这个HTML中

2、安装:
- yarn add html-webpack-plugin -D

3、导入
- const HtmlWebpackPlugin = require('html-webpack-plugin')

4、配置 
plugins: [
    new HtmlWebpackPlugin({
        template: './src/index.html', // 使用的HTML模板
        filename: 'index.html', // 打包生成到的HTML文件名
        minify: {
            removeAttributeQuotes: true, // 打包后去掉双引号
            collapseInlineTagWhitespace: true, // 打包后去空格
        },
        hash:true, // 每次开发打包时,生成的HTML文件带hash
    })
]

- 至此,我们的本地服务就可以搭建完毕

3、此时完整的配置文件

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
    mode: 'development',
    devtool: 'eval',
    entry: {
        index: './src/index.js',
        login: './src/login.js'
    }, // 入口文件
    output: {
        path: path.join(__dirname, 'dist'), // 输出目录,只能是绝对目录
        filename: '[name].js' // 输出文件名
    },
    devServer: {
        contentBase: path.join(__dirname, 'dist'),
        port: 8080,
        host: 'localhost',
        compress: true,
        open: true
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './src/index.html', // 使用的HTML模板
            filename: 'index.html', // 打包生成到的HTML文件名
            minify: {
                removeAttributeQuotes: true, // 打包后去掉双引号
                collapseInlineTagWhitespace: true, // 打包后去空格
            },
            hash: true, // 每次开发打包时,生成的HTML文件带hash
        })
    ]
}
上一篇下一篇

猜你喜欢

热点阅读