webpack学习(六):使用webpack-dev-serve

demo地址: https://github.com/Lkkkkkkg/webpack-demo
上次使用source map功能: https://blog.csdn.net/qq593249106/article/details/84921131**

继上次配置完HtmlWebpackPlugin之后, 现在开始使用 webpack-dev-serve 方便开发, 当前目录结构:

|- /dist //用于放打包后文件的文件夹
  |- app.bundle.js //出口文件
  |- print.bundle.js //出口文件
  |- index.html //模板文件
|- /node_modules
|- /src //用于放源文件的文件夹
  |- index.js //入口文件
  |- print.js //入口文件
|- package.json
|- webpack.config.js //webpack配置文件

webpack-dev-server提供了一个简单的 web 服务器, 并且能够实时重新加载(live reloading), 也就是启动了 webpack-dev-server 之后, 每次修改源文件代码就不用再手动重新构建, 它会自动检测到代码变化, 自动重新构建

安装

npm install webpack-dev-server --save-dev

配置webpack.config.js

webpack.config.js

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


module.exports = {
    entry: {
        app: './src/index.js', //多个入口文件
        print: './src/print.js'
    },
    devtool: 'inline-source-map', // 不同选项适用于不同环境
    devServer: {
        contentBase: './dist', //将dist目录下的文件(index.html)作为可访问文件, 如果不写这个参数则默认与webpack.cofig.js的同级目录
        port: 8080 //端口号设为8080, 默认也是8080
    },
    plugins: [ //webpack 通过 plugins 实现各种功能, 比如 html-webpack-plugin 使用模版生成 html 文件
        new CleanWebpackPlugin(['dist']), //设置清除的目录
        new HtmlWebpackPlugin({
            filename: 'index.html', //设置生成的HTML文件的名称, 支持指定子目录,如:assets/admin.html
        })
    ],
    output: {
        filename: '[name].bundle.js', //根据入口文件输出不同出口文件
        path: path.resolve(__dirname, 'dist')
    }
};

添加一个NPM脚本方便运行

package.json

{
  "name": "demo05",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "dev": "webpack-dev-server --open" //--open的意思是开启服务器之后自动打开
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "clean-webpack-plugin": "^1.0.0",
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.27.1",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.10"
  },
  "dependencies": {
    "lodash": "^4.17.11"
  }
}

运行服务器

终端输入 npm run dev, 就会看到浏览器自动加载了网页, 这时候我在 index.js 修改代码, 它也会自动重新构建加载修改后的网页:
在这里插入图片描述
开启服务器之后, 发现目录结构发生了变化:

|- /node_modules
|- /src //用于放源文件的文件夹
  |- index.js //入口文件
  |- print.js //入口文件
|- package.json
|- webpack.config.js //webpack配置文件

dist 文件夹不见了, 这是因为被 CleanWebpackPlugin 给清除了, 这是因为使用 webpack-dev-serve 代码在服务器运行, 不会打包进 dist, 没有产生新的 dist 文件夹

猜你喜欢

转载自blog.csdn.net/qq593249106/article/details/84922572
今日推荐