Webpack Library Starter 项目教程
1. 项目的目录结构及介绍
webpack-library-starter/
├── lib/
│ ├── index.js
│ └── ...
├── src/
│ ├── index.js
│ └── ...
├── .babelrc
├── .editorconfig
├── .gitignore
├── LICENSE
├── README.md
├── package.json
├── webpack.config.js
└── yarn.lock
- lib/: 构建后的输出目录,包含最终生成的库文件。
- src/: 源代码目录,包含项目的源文件。
- .babelrc: Babel 配置文件,用于转换 ES6+ 代码。
- .editorconfig: 编辑器配置文件,用于统一代码风格。
- .gitignore: Git 忽略文件配置。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- package.json: 项目依赖和脚本配置文件。
- webpack.config.js: Webpack 配置文件。
- yarn.lock: Yarn 依赖锁定文件。
2. 项目的启动文件介绍
项目的启动文件位于 src/index.js
。这是库的入口点,包含了库的主要功能和导出。
// src/index.js
export default function() {
// 这里是库的主要功能
}
3. 项目的配置文件介绍
webpack.config.js
Webpack 配置文件 webpack.config.js
包含了项目的构建配置。
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'lib'),
filename: 'index.js',
library: 'MyLibrary',
libraryTarget: 'umd',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
],
},
externals: {
lodash: {
commonjs: 'lodash',
commonjs2: 'lodash',
amd: 'lodash',
root: '_',
},
},
};
- entry: 指定入口文件。
- output: 指定输出目录和文件名,以及库的名称和目标格式。
- module: 配置 Babel 加载器,用于转换 ES6+ 代码。
- externals: 指定外部依赖,避免将外部库打包进最终的库文件中。
通过以上配置,可以构建出一个可以在不同环境中使用的库。