js:webpack插件BannerPlugin添加版权信息

简介: js:webpack插件BannerPlugin添加版权信息

先看两个示例

vue.js444.png

jQuery.js

55.png打包的时候要加入一些版权信息,如果每次打完包都手动添加,岂不是很累。

可以使用webpack插件BannerPlugin添加版权信息

最简单的配置

const webpack = require('webpack')
module.exports = {
  ...
  plugins: [
    new webpack.BannerPlugin('版权信息')
  ]
}

实用的配置

将变量信息从package.json文件引入,使用nunjucks的模板渲染能力,将模板和数据组合成最终输出的内容

// 引入版权插入必要
const webpack = require('webpack');
const { name, version, author, homepage, description } = require('./package');
const nunjucks = require('nunjucks');
const moment = require('moment');
// 使用模板渲染
const LICENSE = nunjucks.render('LICENSE', {
  name: name,
  version: version,
  description: description,
  author: author,
  homepage: homepage,
  date: moment().format('YYYY-MM-DD HH:mm:ss'),
});
module.exports = {
  ...
  optimization: {
    minimizer: [
      //压缩CSS代码
      new CssMinimizerPlugin(),
      //压缩js代码
      new TerserPlugin({
        extractComments: false, // 不将注释提取到单独的文件中
      }),
      // 添加版权信息
      new webpack.BannerPlugin({
        entryOnly: true,
        banner: LICENSE,
        raw: true,
      }),
    ],
  },
}

LICENSE

/*!
 * Name {{name}}  
 * Version {{version}}  
 * Author: {{author}}
 * Description: {{description}}
 * Homepage:{{homepage}}
 * Date: {{date}}
 */

参考

https://webpack.docschina.org/plugins/banner-plugin/

webpack 在打包的文件头部添加 Banner 信息

相关文章
|
1月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
108 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
3天前
|
JavaScript 前端开发 API
纯js轻量级页面顶部Loading进度条插件
纯js轻量级页面顶部Loading进度条插件
|
2月前
|
前端开发 开发者
Webpack 插件底层的实现原理是什么?
Webpack 插件通过其插件系统扩展功能,满足不同构建需求。基于事件流模型,Webpack 在编译过程中触发多种事件(如 compile、make、emit、done),插件可监听并执行自定义逻辑。Webpack 使用 tapable 模块管理这些事件,提供 sync、async、promise 等钩子类型。开发者在配置文件中注册插件,通过 apply 方法初始化并注册所需钩子。插件生命周期与编译过程紧密相关,在不同阶段介入执行任务。例如,compilation 事件在每次编译开始时触发,emit 事件在生成输出文件前触发,done 事件在编译完成时触发。
|
3月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
3月前
|
JavaScript 前端开发
基于SVG的js圆形菜单插件
这是一款基于SVG的js圆形菜单插件。该js圆形菜单插件可以生成漂亮的圆形菜单效果,支持二级菜单,支持使用鼠标滚动切换菜单
84 16
|
3月前
|
JavaScript
时尚简洁的js轮播图特效插件
这是一款时尚简洁的js轮播图特效插件。该轮播图采用es6语法制作,底部带缩略图和描述信息。图片和描述信息在切换时同步滑动。
|
3月前
|
JavaScript 前端开发 异构计算
兼容移动手机的js拖拽插件Draggin.js
兼容移动手机的js拖拽插件Draggin.js
111 1
|
6月前
|
JavaScript
webpack打包TS
webpack打包TS
155 60
|
5月前
|
缓存 前端开发 JavaScript
Webpack 打包的基本原理
【10月更文挑战第5天】
|
6月前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
511 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)

热门文章

最新文章