vite-plugin-html-template-mpa
Version:
html template map for vite
55 lines (50 loc) • 1.68 kB
TypeScript
import { HtmlTagDescriptor, Plugin, PluginOption } from 'vite';
import { Options as Options$1 } from 'html-minifier-terser';
import { Options as Options$2 } from 'ejs';
interface InjectOptions {
data?: Record<string, any>;
tags?: HtmlTagDescriptor[];
ejsOptions?: Options$2;
}
type PageOptions = {
template?: string;
title?: string;
entry?: string;
filename?: string;
urlParams?: string;
inject?: InjectOptions;
addEntryScript?: boolean;
mpaAutoAddMainTs?: boolean;
onlyUseEjsAndMinify?: boolean;
onlyMinify?: boolean;
};
interface Options extends PageOptions {
pagesDir: string;
pages: {
[pageName: string]: PageOptions;
};
entry?: string;
jumpTarget?: '_self' | '_blank';
buildCfg: {
buildPrefixName?: string;
moveHtmlTop?: boolean;
moveHtmlDirTop?: boolean;
htmlHash?: boolean;
buildAssetDirName?: string;
buildChunkDirName?: string;
buildEntryDirName?: string;
htmlPrefixSearchValue?: string;
htmlPrefixReplaceValue?: string;
};
minify?: Options$1 | boolean;
}
type HtmlTemplateMpaOptions = Partial<Options>;
declare function htmlTemplate(userOptions?: HtmlTemplateMpaOptions): Plugin;
declare function createMinifyHtmlPlugin(userOptions?: HtmlTemplateMpaOptions): {
name: string;
enforce: string;
configResolved(resolvedConfig: any): void;
generateBundle(_: any, bundle: any): Promise<void>;
};
declare function createHtmlPlugin(userOptions?: HtmlTemplateMpaOptions): PluginOption[];
export { type HtmlTemplateMpaOptions, createMinifyHtmlPlugin, createHtmlPlugin as default, htmlTemplate };