Webpack5系列(八):库的打包
2024-01-26 14:45:04
前言
上一篇讲到代码分离,本篇将介绍库的打包。
Webpack 除了能够打包项目应用以外,还可以用来打包 JS 库。当其他人安装了我们的库时,他们可能会在不同的环境中去引入,例如:
- 在浏览器中,可以使用
<script>
标签引入。 - 在 Node.js 中,可以使用
require()
函数引入。 - 在其他支持 CommonJS 的环境中,可以使用
require()
函数引入。 - 在支持 AMD 的环境中,可以使用
define()
函数引入。
因此,我们需要将我们的库打包成不同的格式,以满足不同环境的需求。
步骤
1. 创建一个新的项目
首先,我们需要创建一个新的项目。可以使用以下命令:
mkdir my-lib && cd my-lib
npm init -y
这将创建一个新的项目目录 my-lib
,并在其中创建一个 package.json
文件。
2. 安装 Webpack
接下来,我们需要安装 Webpack。可以使用以下命令:
npm install webpack --save-dev
这将把 Webpack 安装到你的项目中。
3. 创建一个入口文件
接下来,我们需要创建一个入口文件。入口文件是 Webpack 打包的起点。我们可以创建一个 index.js
文件,并在其中写入以下内容:
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
export { add, subtract };
这个文件导出了两个函数:add()
和 subtract()
。
4. 创建一个配置文件
接下来,我们需要创建一个配置文件。配置文件告诉 Webpack 如何打包我们的代码。我们可以创建一个 webpack.config.js
文件,并在其中写入以下内容:
module.exports = {
entry: './index.js',
output: {
filename: 'my-lib.js',
library: 'MyLib',
libraryTarget: 'umd',
},
};
这个配置文件告诉 Webpack:
- 入口文件是
index.js
。 - 输出文件是
my-lib.js
。 - 库的名称是
MyLib
。 - 库的目标是
umd
。
5. 运行 Webpack
接下来,我们可以运行 Webpack。可以使用以下命令:
npm run build
这将运行 Webpack 并生成 my-lib.js
文件。
6. 测试库
现在,我们可以测试一下我们的库。我们可以创建一个新的项目,并在其中安装我们的库。可以使用以下命令:
mkdir my-app && cd my-app
npm init -y
npm install ../my-lib --save
这将创建一个新的项目目录 my-app
,并在其中安装我们的库 my-lib
。
接下来,我们可以创建一个 index.html
文件,并在其中写入以下内容:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script src="node_modules/my-lib/dist/my-lib.js"></script>
<script>
console.log(MyLib.add(1, 2)); // 3
console.log(MyLib.subtract(4, 2)); // 2
</script>
</body>
</html>
这个文件在 <head>
标签中引入了我们的库 my-lib.js
。在 <body>
标签中,我们使用了 MyLib
库中的 add()
和 subtract()
函数。
现在,我们可以运行我们的应用程序。可以使用以下命令:
npm start
这将启动一个本地服务器,并在浏览器中打开我们的应用程序。
在浏览器中,我们可以看到以下输出:
3
2
这说明我们的库工作正常。
总结
本篇介绍了如何使用 Webpack 打包 JS 库。我们可以通过以下步骤来打包我们的库:
- 创建一个新的项目。
- 安装 Webpack。
- 创建一个入口文件。
- 创建一个配置文件。
- 运行 Webpack。
- 测试库。