vben
2020-12-22 bd7b53f14adc05fd3d4af5027b5fb85015021ac9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import type { Plugin } from 'vite';
import ViteHtmlPlugin from 'vite-plugin-html';
import { isProdFn, isSiteMode, ViteEnv } from '../../utils';
 
import { hmScript } from '../hm';
// @ts-ignore
import pkg from '../../../package.json';
import { GLOB_CONFIG_FILE_NAME } from '../../constant';
 
export function setupHtmlPlugin(
  plugins: Plugin[],
  env: ViteEnv,
  mode: 'development' | 'production'
) {
  const { VITE_GLOB_APP_TITLE, VITE_PUBLIC_PATH } = env;
 
  const htmlPlugin = ViteHtmlPlugin({
    // html title
    title: VITE_GLOB_APP_TITLE,
    minify: isProdFn(mode),
    options: {
      publicPath: VITE_PUBLIC_PATH,
      // Package and insert additional configuration files
      injectConfig: isProdFn(mode)
        ? `<script src='${VITE_PUBLIC_PATH || './'}${GLOB_CONFIG_FILE_NAME}?v=${
            pkg.version
          }-${new Date().getTime()}'></script>`
        : '',
      // Insert Baidu statistics code
      hmScript: isSiteMode() ? hmScript : '',
      title: VITE_GLOB_APP_TITLE,
    },
  });
 
  plugins.push(htmlPlugin);
  return plugins;
}