当前位置:首页 > 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']
        }
      }
    }
  ]
}

代码分割与优化

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

// 原代码
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,
}

安装开发服务器:

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

生产环境优化

添加生产模式配置:

mode: 'production',

压缩 JavaScript 代码:

optimization: {
  minimize: true,
}

完整配置示例

典型的生产环境 webpack 配置:

webpack实现js

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实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…