当前位置:首页 > JavaScript

webpack实现js

2026-01-31 21:58:22JavaScript

webpack 实现 JavaScript 打包的基本流程

安装 webpack 和 webpack-cli 作为开发依赖:

npm install webpack webpack-cli --save-dev

创建 webpack 配置文件 webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
};

配置 loader 处理 JavaScript

安装 Babel 相关依赖以支持现代 JavaScript 语法:

npm install babel-loader @babel/core @babel/preset-env --save-dev

在 webpack 配置中添加 module 规则:

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }
  ]
}

代码分割与优化

使用动态导入实现代码分割:

webpack实现js

// 原代码
import module from './module';

// 改为动态导入
const module = await import('./module');

配置 SplitChunksPlugin 优化重复代码:

optimization: {
  splitChunks: {
    chunks: 'all',
  },
}

开发环境配置

添加开发服务器和 source map:

devtool: 'inline-source-map',
devServer: {
  contentBase: './dist',
  hot: true,
}

安装开发服务器:

webpack实现js

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

生产环境优化

添加生产模式配置:

mode: 'production',

压缩 JavaScript 代码:

optimization: {
  minimize: true,
}

完整配置示例

典型的生产环境 webpack 配置:

const path = require('path');

module.exports = {
  mode: 'production',
  entry: './src/index.js',
  output: {
    filename: '[name].[contenthash].js',
    path: path.resolve(__dirname, 'dist'),
    clean: true,
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
        }
      }
    ]
  },
  optimization: {
    splitChunks: {
      chunks: 'all',
    },
  },
};

标签: webpackjs
分享给朋友:

相关文章

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现文件夹

js实现文件夹

使用JavaScript创建文件夹 在浏览器端的JavaScript中无法直接操作文件系统创建文件夹,这是出于安全考虑。但在Node.js环境中可以通过文件系统模块(fs)实现。 Node.js中使…

js 实现验证码

js 实现验证码

实现验证码的 JavaScript 方法 生成随机验证码 验证码通常由随机字符(数字、字母或混合)组成。以下代码生成一个 6 位随机验证码(数字和字母混合): function generateCa…

js实现递归

js实现递归

递归的基本概念 递归是一种通过函数调用自身来解决问题的方法。在JavaScript中,递归通常用于处理具有重复子问题或分治结构的数据,例如树形结构、阶乘计算等。 递归的实现要点 基线条件(Base…