# banner-webpack-plugin
**Repository Path**: d7c/banner-webpack-plugin
## Basic Information
- **Project Name**: banner-webpack-plugin
- **Description**: 给 JS、CSS 等文件头部添加注释的 webpack 插件。
- **Primary Language**: NodeJS
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: http://www.d7c.top/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-08-08
- **Last Updated**: 2022-08-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# banner-webpack-plugin
## 介绍
banner-webpack-plugin 是一个给 JS、CSS 等文件头部添加注释的 webpack 插件。
## 软件架构
webpack 自带 [banner-plugin](https://webpack.docschina.org/plugins/banner-plugin) 插件,但不够灵活,特此开发此插件。
## Plugin 工作原理
webpack 就像是一条生产线,将源文件经过一系列处理流程后输出结果。这条生产线上的每个处理流程的职责都是单一的,多个流程之间存在依赖关系,只有完成当前处理流程后才能交给下一个流程去处理。[插件](https://webpack.docschina.org/api/compiler-hooks/)就像是插入到生产线中的一个功能,在特定的时机对生产线上的资源进行处理。webpack 通过 Tapable 来组织这条复杂的生产线。webpack 在运行过程中会广播事件,插件只需要监听它所绑定的事件,就能加入到这条生产线中改变生产线的运作。webpack 的事件流机制保证了插件的有序性,使得整个系统拥有很好的扩展性。
webpack 在编译代码过程中会触发一系列的 Tapable 钩子事件,插件所做的就是找到相应的钩子,往上面挂上自己的任务,也就是注册事件,这样当 webpack 构建的时候,插件注册的事件就会随着钩子的触发而执行了。
## 安装教程
### 1. 下载依赖
```
npm install
```
### 2. 给你所开发的项目安装此插件并引入
```
npm install --save-dev ../banner-webpack-plugin
```
## 使用说明
### 1. 克隆并安装项目,在项目根目录下执行
```
npm install
```
### 2. 检查命令
```
npm run lint
```
### 3. 使用
```
// webpack.config.js
// 给 JS、CSS 文件头部添加注释
const BannerWebpackPlugin = require("../src/index");
// const BannerWebpackPlugin = require("banner-webpack-plugin"); // npm install --save-dev ../
// webpack.config.js -> plugins
// 注意:由于使用 fullhash、chunkhash 或 contenthash 时不修改源码文件,打包时不会输出,即时设置了 output.clean=true,要使每次打包重新生成就不要设置。
new BannerWebpackPlugin({
extensions: [".css", ".js"],
style: "inline", // inline、multiline
"@author": "吴佳隆",
"@company": "第七仓",
"@date": dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
})
```
## 运行效果
## 捐助打赏
如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡。



## 参与贡献
1. Fork 本仓库
2. 新建 banner-webpack-plugin_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)