Webpack的使用

Webpack入门:模块打包与配置实战
本文详细介绍了如何使用Webpack从零开始,包括创建基本目录结构,配置入口和出口文件,处理commonJS和ES6模块,打包过程演示,以及配置webpack.config.js。重点展示了Webpack如何整合多种模块化方案并部署到服务器。

Webpack的起步

新建如下文件目录:

src文件夹:存放开发内容/源代码。

dist文件夹(distribution:发布):存放打包后的代码文件,最后将该文件交由服务器发布即可。

src目录下新建mathUtils、info.js和.jsmain.js文件:

mathUtils.js

function add(num1,num2){
  return num1 + num2
}

function mul(num1,num2){
  return num1 * num2
}

//模块化开发方式:commonJS方式
module.exports = {
  add,
  mul
}

info.js 

//ES6的模块化开发方式
export const name = 'ES6';
export const age = 26;
export const height = 1.75;

main.js

//主程序入口文件
//commonJS的导入方式
const{ add ,mul} = require('./mathUtils')
console.log(add(10,20));
console.log(mul(20,30));

//ES6的导入方式
import {name,age,height} from './info.js'
console.log('ES6');
console.log(name);
console.log(age);
console.log(height);

 然后再文件夹目录下新建index.html

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

由于index.html未引入任何js文件,点击运行没有任何意义。

打开终端: cd E:\项目备份\Vue学习\vue练习\07-Webpack的使用\01-webpack起步

使用webpack打包,输入: webpack ./src/main.js ./dist/bundel.js

如图:

该方法的作用是将main.js文件以及该文件依赖的mathUtils.js文件和info.js文件进行打包,在dist文件夹中生成一个bundel.js文件 。打开dist文件夹,可以看到文件夹下自动生成了一个bundel.js文件

在index.html中引入该文件并运行

<script src="./dist/bundel.js"></script>

可见webpack能够将commonJS和ES6两种不同的模块化开发方式进行统一打包,同样能够支持AMD和CMD等开发模式。

最后只需将bundel.js和index.html文件发送给服务器进行发布,代码在重新写完之后需要重新进行打包才能更新。

webpack的配置:

通过配置webpack.config.js文件,实现模块化打包

目录文件如下:

配置node环境中的一些包:npm init

此时会生成一个package.json文件,如果package.json依赖一些文件,通过输入:npm install安装这些文件。

新建webpack.config.js文件完成如下配置信息:

  

const path = require('path')//path包需要安装:npm init初始化

//commonJS的方式配置
module.exports = {
  entry: './src/main.js',//入口
  output: {//出口
    path:path.resolve(__dirname,'dist'),//绝对路径,动态获取----_dirname为全局变量,能够自动获取当前文件所在路径,然后拼接得到目标文件夹
    filename:'bundle.js'
  },
}

终端输入:webpack 

同样生成了bundle.js ,在index.html文件中引入即可运行。

命令映射:运行npm run build时能一并执行webpack

打开package.json文件:

 找到scripts脚本,如上图所示,当在终端输入npm run test时:

等价于输入"test"后面的内容并执行: echo \"Error: no test specified\" && exit 1

添加配置:"build":"webpack"

{
  "name": "meetwebpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build":"webpack"
  },
  "author": "",
  "license": "ISC"
}

此时运行npm run build 等价于运行webpack

 局部安装webpack:真正与项目保持一致的版本,webpack在开发时依赖,运行时不需要依赖的

npm install webpack@3.6.0 --save-dev

此时package.json文件中包含以下信息:

安装后会生成一个名为node_modules的文件夹,里面是默认安装的一些包

 终端下运行webpack,使用的是全局webpack打包工具

定义脚本("build":"webpack")之后运行:npm run build或者./node_modules/webpack首先使用本地的webpack打包工具。

即package.json中的scripts的脚本在执行时,会按照一定的顺序寻找命令对应的位置。

  • 首先会寻找本地的node_modules/bin路径中对应的命令
  • 如果没有找到,才会去全局的环境变量中寻找。
### 如何使用 Webpack 进行模块打包 Webpack 是一种强大的前端构建工具,能够实现模块化管理资源优化。以下是关于如何使用 Webpack 完成模块化的打包过程。 #### 初始化项目并安装依赖 为了开始使用 Webpack,首先需要创建一个新的 Node.js 项目,并初始化 `package.json` 文件来管理项目的依赖项。这可以通过运行以下命令完成: ```bash npm init --yes ``` 随后,安装 Webpack 及其 CLI 工具作为开发依赖: ```bash npm i webpack webpack-cli --save-dev ``` 以上步骤确保了项目具备必要的基础配置工具链[^1][^2]。 #### 配置 Webpack Webpack 的工作流程通常基于一个名为 `webpack.config.js` 的文件。该文件定义了入口、出口以及其他选项。下面是一个简单的配置示例: ```javascript const path = require('path'); module.exports = { entry: './src/index.js', // 入口文件路径 output: { filename: 'bundle.js', // 输出文件名 path: path.resolve(__dirname, 'dist') // 输出目录 }, mode: 'development' // 构建模式:可选 development 或 production }; ``` 此配置指定了应用的入口点 (`entry`) 最终打包后的输出位置 (`output`)。此外还设置了构建模式为开发环境(`mode: 'development'`),以便调试更容易[^3]。 #### 执行打包 当一切准备就绪后,可以在终端中执行以下命令来进行实际的打包操作: ```bash npx webpack ``` 这条指令会读取当前目录下的默认配置文件 `webpack.config.js` 并按照其中设定的方式处理源码,最后生成目标文件到指定的位置[^4]。 #### 性能优化与高级功能 除了基本的功能外,Webpack 提供了许多额外特性用于提升性能增强灵活性,比如代码分割(Code Splitting),动态加载(Dynamic Imports)等策略可以帮助进一步改善用户体验。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值