您现在的位置是:亿华云 > 数据库

今天,我们来实现一个基础版的Webpack

亿华云2025-10-03 16:02:04【数据库】9人已围观

简介前言本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(depende

前言

本质上,今天webpack 是基础一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,今天它会递归地构建一个依赖关系图(dependency graph),基础其中包含应用程序需要的今天每个模块,然后将所有这些模块打包成一个或多个 bundle。基础

这是今天官网对webpack的解释。提到模块,源码下载基础模块顾名思义是今天独立的JS文件。与之相近的基础词模块化,通俗的今天讲就是我们平时组织和管理代码方法的一种实现。

战前准备

我们先来测试一下webpack的基础打包。

1.初始化

创建项目目录

mkdir webpackmini 

2.安装webpack依赖

yarn add webpack -D 

or

npm install webpack -D 

3.安装webpack-cli依赖 这里,网站模板今天稍微注意一下,基础我们可以下载这个版本的今天,最新版的安装之后好像不可用。

yarn add webpack-cli@3.3.12 -D 

or

npm install webpack@3.3.12 -D 

创建入口文件

1.创建项目主目录

mkdir src 

2.创建入口文件

touch main.js 

3.编辑入口文件

我们这里使用最简单的一行代码。

console.log(maomin1); 

创建编辑webpack 配置文件

在项目根目录下键入命令:

touch webpack.config.js 

并编辑。

const path = require(path); module.exports = {      mode:development,     entry:./src/main.js,     output:{          path:path.resolve(__dirname,dist),         filename:bundle.min.js     } } 

运行测试打包

我们这里使用 npx webpack 命令进行打包。打包成功!

我们来到打包好的bundle.min.js文件,会看到以下代码:

/*  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").  * This devtool is neither made for production nor for readable output files.  * It uses "eval()" calls to create a separate source file in the browser devtools.  * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)  * or disable the default devtool with "devtool: false".  * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).  */ /站群服务器

很赞哦!(94)