从零开始搭建一个 Webpack 开发环境配置(附 Demo)

本文详细介绍了如何从零开始搭建一个Webpack开发环境,包括创建配置文件、设置入口和输出、使用html-webpack-plugin和clean-webpack-plugin插件、配置Http服务、启用Source Map、配置模块解析规则、使用babel进行转换,并提供了完整的项目结构和代码示例。
摘要由CSDN通过智能技术生成

本文使用 Webpack 从零开始搭建一个开发环境的脚手架配置,在此做个记录,也方便以后使用。


前言

我的上一篇文章简单介绍了一下 Webpack 的一些核心概念和基本配置,需要了解的朋友可以先参考一下:Webpack 的简单介绍

从 webpack v4.0.0 开始,可以不用引入一个配置文件。直接使用 webpack 命令就可进行打包。但是,一般我们需要进行更灵活的配置功能,所以本文我也创建一个 webpack 的配置文件,对 webpack 的一些属性进行配置。

本文 Demo 地址

环境搭建

项目结构

首先我们创建一个目录,初始化 npm,然后 在本地安装 webpack,接着安装 webpack-cli(此工具用于在命令行中运行 webpack):

$ mkdir webpack-dev-demo && cd webpack-dev-demo

$ npm init -y

$ npm install webpack webpack-cli --save-dev

project

  webpack-dev-demo
  |- package.json
  |- /public
    |- index.html
  |- /src
    |- index.js

src/index.js

function component() {
   
    var element = document.createElement('div');

    element.innerHTML = 'Hello World';
  
    return element;
}
  
document.body.appendChild(component());

public/index.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Webpack 开发环境配置</title>
</head>
<body>
    
</body>
</html>

package.json

{
   
  "name": "webpack-dev-demo",
  "version": "1.0.0",
  "description": "",
  "private": true,
  "scripts": {
   
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config webpack.config.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
   
    "webpack": "^4.29.0",
    "webpack-cli": "^3.2.1"
  }
}

创建配置文件

在项目根目录下创建 webpack.config.js 配置文件

project

  webpack-dev-demo
  |- package.json
  |- /public
    |- index.html
  |- /src
    |- index.js
+ |- webpack.config.js

配置入口和输出

webpack.config.js

const path = require('path');

module.exports = {
   
    entry: './src/index.js',
    output: {
   
        filename: '[name]-[hash:8].js',
        path: path.resolve(__dirname, 'dist')
    }
}

运行 webpack

$ npm run build

控制台的打印结果
第一次打印结果

可以看到打印日志,打包成功了,但是此时在浏览器打开我们的 index.html 文件,却发现界面上什么都不显示,这个也好理解,因为 index.html 此时还没有引入任何的 js 文件。所以这个时候就要将打包后的文件引入到 index.html 文件中,但是可以看到 dist 文件夹下的 js 文件名有很多的 hash 值,而且每次编译都可能不同,怎么办呢?这时候就要引入 html-webpack-plugin 插件了

html-webpack-plugin 插件的使用

安装插件:

$ npm install html-webpack-plugin --save-dev

使用插件:

webpack.config.js

...
const HTMLWebpackPlugin = require('html-webpack-plugin');

module.exports = {
   
    ...
    plugins: [
        new HTMLWebpack({
   
            // 用于生成的HTML文档的标题
            title: 'Webpack 开发环境配置',
            // webpack 生成模板的路径
            template: './public/index.html'
        })
    ]
}

关于 html-webpack-plugin 插件更多配置请参考:插件文档

再次运行 webpack

$ npm run build

可以看到 dist 文件夹下生成了一个 index.html 文件,在浏览器中打开这个 index.html 文件,可以看到,‘Hello World’ 已经能够正常显示了

至此,项目能够正常打包了,但是还不够,此时可以看到 dist 文件夹下有两个 js 文件,但是明明只打了一个包啊。是因为另一个包使我们上一次操作打出来的,并没有删除掉。所以,为了避免 dist 文件夹中的文件变得杂乱,我们还需要引入 clean-webpack-plugin 插件帮助我们清理 dist 文件夹

clean-webpack-plugin 插件的使用

安装插件:

$ npm install clean-webpack-plugin --save-dev

用法:new CleanWebpackPlugin(paths [, {options}])

webpack.config.js

...
const CleanWebpackPlugin = require('clean-webpack-plugin');

module.exports = {
   
    ...
    plugins: [
        ...
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值