Webpack 学习笔记之一

60 阅读1分钟

1. 初始化项目

npm init -y

2. 安装依赖

首先,确保已经安装 Node.js 和 npm(Node 包管理器)。

 npm install webpack webpack-cli  html-webpack-plugin webpack-dev-server style-loader css-loade --save-dev 

3. 配置文件(webpack.config.js)

Webpack 的配置文件遵循 CommonJS 规范,一般命名为 webpack.config.js。以下是一个简单的配置示例:

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

module.exports = {
  mode: 'development', // 开发模式
  entry: './src/index.js', // 入口文件
  output: {
    // 出口文件
    path: path.resolve(__dirname, 'dist'), // 输出目录
    filename: '[name].[hash].js', // 输出文件名(使用哈希以确保唯一性)
    clean: true, // 清除之前的打包文件
  },
  module: {
    rules: [
      {
        test: /\.css$/, // 匹配 CSS 文件
        use: [
          'style-loader', // 动态将样式插入到 HTML 中
          'css-loader', // 将 CSS 转换为 JavaScript 代码
        ],
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './index.html', // HTML 模板文件
      filename: 'index.html', // 输出的 HTML 文件名
      chunks: ['main'], // 使用的代码块
    }),
  ],
  devServer: {
    host: 'localhost', // 主机地址
    port: 3000, // 端口号
    open: true, // 自动打开浏览器
  },
}; 

  • mode: 'development' 设置 Webpack 的构建模式为开发模式,此模式下打包的代码不会进行压缩和混淆。

  • entry: './src/index.js' 指定入口文件为 src 目录下的 index.js

  • output 配置项指定了打包后的输出路径为 dist 目录,输出文件名为 name.[hash].js,其中 name 对应入口文件名,[hash] 是用于缓存破坏的哈希值。

  • module.rules 定义了在遇到 CSS 文件时使用的 Loader,这里使用了 style-loadercss-loader 来处理 CSS 文件。

  • plugins 数组中配置了 HtmlWebpackPlugin 插件,用于根据模板文件生成 HTML 文件,并将打包后的 JavaScript 文件自动注入到 HTML 文件中。

  • devServer 配置了开发服务器的主机地址、端口号和是否自动打开浏览器等。

6. 使用

在命令行中执行以下命令:

npx webpack