feat(@vant/cli): add site.htmlMeta option

This commit is contained in:
chenjiahan
2021-09-07 15:47:15 +08:00
parent 2b7ad935ab
commit a2f4ceaace
10 changed files with 72 additions and 76 deletions

View File

@@ -3,7 +3,35 @@ import {
getViteConfigForSiteDev,
getViteConfigForSiteProd,
} from '../config/vite.site';
import { genSiteEntry } from './vant-cli-site-plugin';
import { replaceExt } from '../common';
import { CSS_LANG } from '../common/css';
import { genPackageEntry } from './gen-package-entry';
import { genPackageStyle } from './gen-package-style';
import { genSiteMobileShared } from './gen-site-mobile-shared';
import { genSiteDesktopShared } from './gen-site-desktop-shared';
import { genStyleDepsMap } from './gen-style-deps-map';
import { PACKAGE_ENTRY_FILE, PACKAGE_STYLE_FILE } from '../common/constant';
export async function genSiteEntry(): Promise<void> {
return new Promise((resolve, reject) => {
genStyleDepsMap()
.then(() => {
genPackageEntry({
outputPath: PACKAGE_ENTRY_FILE,
});
genPackageStyle({
outputPath: replaceExt(PACKAGE_STYLE_FILE, `.${CSS_LANG}`),
});
genSiteMobileShared();
genSiteDesktopShared();
resolve();
})
.catch((err) => {
console.log(err);
reject(err);
});
});
}
export async function compileSite(production = false) {
await genSiteEntry();

View File

@@ -1,29 +0,0 @@
import { replaceExt } from '../common';
import { CSS_LANG } from '../common/css';
import { genPackageEntry } from './gen-package-entry';
import { genPackageStyle } from './gen-package-style';
import { genSiteMobileShared } from './gen-site-mobile-shared';
import { genSiteDesktopShared } from './gen-site-desktop-shared';
import { genStyleDepsMap } from './gen-style-deps-map';
import { PACKAGE_ENTRY_FILE, PACKAGE_STYLE_FILE } from '../common/constant';
export async function genSiteEntry(): Promise<void> {
return new Promise((resolve, reject) => {
genStyleDepsMap()
.then(() => {
genPackageEntry({
outputPath: PACKAGE_ENTRY_FILE,
});
genPackageStyle({
outputPath: replaceExt(PACKAGE_STYLE_FILE, `.${CSS_LANG}`),
});
genSiteMobileShared();
genSiteDesktopShared();
resolve();
})
.catch((err) => {
console.log(err);
reject(err);
});
});
}

View File

@@ -60,6 +60,18 @@ function getTitle(config: { title: string; description?: string }) {
return title;
}
function getHTMLMeta(vantConfig: any) {
const meta = get(vantConfig, 'site.htmlMeta');
if (meta) {
return Object.keys(meta)
.map((key) => `<meta name="${key}" content="${meta[key]}">`)
.join('\n');
}
return '';
}
export function getViteConfigForSiteDev(): InlineConfig {
setBuildTarget('package');
@@ -98,6 +110,7 @@ export function getViteConfigForSiteDev(): InlineConfig {
...siteConfig,
title,
baiduAnalytics,
meta: getHTMLMeta(vantConfig),
},
}),
],