1.0.16 • Published 2 years ago

wxw-plugin v1.0.16

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

简介

项目注入构建信息的 webpack / vite 插件,兼容 vuecli4/5、webpack4/5、vite4

效果

https://i.ibb.co/19BFk38/build.png

从控制台可以看到,打印了当前项目的 git 信息以及最后部署时间,非常人性化,再也不用担心部署的代码是不是最新的了~

原理

  • vuecli4 是基于 webpack4 的,主要是根据 compiler.hooks.emit 这个钩子,在入口文件注入项目信息然后再输出
  • vuecli5 是基于 webpack5 的,主要是根据 compiler.hooks.compilation 这个钩子以及 compilation.hooks.processAssets, 对入口文件进行注入项目信息然后再输出
  • vite4,主要是根据 transformIndexHtml 这个钩子(vite 插件特有),对 index.html 注入项目信息

    本质上就是给你的项目入口/所有 html 插入一串 js 代码。

安装

npm i wxw-plugin --save-dev

使用

vuecli4

vue.config.js

const BilldHtmlWebpackPlugin = require('billd-html-webpack-plugin')

module.exports = {
  // ...
  chainWebpack: (config) => {
    // ...
    config
      .plugin('billd-html-webpack-plugin')
      .use(BilldHtmlWebpackPlugin, [{ env: 'vuecli4' }])
  },
}

vuecli5

vue.config.js

const { defineConfig } = require('@vue/cli-service')
const BilldHtmlWebpackPlugin = require('billd-html-webpack-plugin')

module.exports = defineConfig({
  // ...
  chainWebpack: (config) => {
    // ...
    config
      .plugin('billd-html-webpack-plugin')
      .use(BilldHtmlWebpackPlugin, [{ env: 'vuecli5' }])
  },
})

webpack4

webpack.config.js

const HtmlWebpackPlugin = require('html-webpack-plugin')
const BilldHtmlWebpackPlugin = require('billd-html-webpack-plugin')

module.exports = {
  // ...
  plugins: [
    // ...
    new HtmlWebpackPlugin(),
    // 请确保billd-html-webpack-plugin插件在html-webpack-plugin插件后面
    new BilldHtmlWebpackPlugin({ env: 'webpack4' }),
  ],
}

webpack5

webpack.config.js

const HtmlWebpackPlugin = require('html-webpack-plugin')
const BilldHtmlWebpackPlugin = require('billd-html-webpack-plugin')

module.exports = {
  // ...
  plugins: [
    // ...
    new HtmlWebpackPlugin(),
    // 请确保billd-html-webpack-plugin插件在html-webpack-plugin插件后面
    new BilldHtmlWebpackPlugin({ env: 'webpack5' }),
  ],
}

vite

vite.config.ts

import BilldHtmlWebpackPlugin from 'billd-html-webpack-plugin';
import { defineConfig } from 'vite';

// https://vitejs.dev/config/
export default defineConfig({
  // ...
  plugins: [
    // ...
    new BilldHtmlWebpackPlugin({ env: 'vite' }).config,
  ],
});

配置

import MyPlugin from 'wxw-plugin'

new MyPlugin({
  env: 'webpack5',
  log: [
    'pkgName', // pkg名称
    'pkgVersion', // pkg版本
    'pkgRepository', // 显示pkg仓库
    'commitHash', // 显示git提交主题
    'commitSubject', // git提交分支
    'commitBranch', // git提交日期
    'committerDate', // git提交哈希
    'committerName', // git提交者名字
    'committerEmail', // git提交者邮箱
    'lastBuildDate'// 最后构建日期
  ]
})
1.0.16

2 years ago

1.0.15

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago