当前位置:首页 > 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实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…