You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
|
2 months ago
|
"use strict";
|
||
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
|
exports.createTransformIndexHtml = void 0;
|
||
|
|
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
|
||
|
|
function createTransformIndexHtml() {
|
||
|
|
let warned = false;
|
||
|
|
return async function (html) {
|
||
|
|
const manifestJson = (0, uni_cli_shared_1.parseManifestJsonOnce)(process.env.UNI_INPUT_DIR);
|
||
|
|
const webManifest = (0, uni_cli_shared_1.getPlatformManifestJson)(manifestJson, 'h5');
|
||
|
|
const title = webManifest?.title || manifestJson.name || '';
|
||
|
|
const isX = process.env.UNI_APP_X === 'true';
|
||
|
|
if (isX) {
|
||
|
|
// 兼容旧版本模板
|
||
|
|
const mainJs = ` src="/main.js"`;
|
||
|
|
const mainTs = ` src="/main.ts"`;
|
||
|
|
const main = ` src="/main"`;
|
||
|
|
let oldMain = '';
|
||
|
|
if (html.includes(mainJs)) {
|
||
|
|
oldMain = mainJs;
|
||
|
|
}
|
||
|
|
else if (html.includes(mainTs)) {
|
||
|
|
oldMain = mainTs;
|
||
|
|
}
|
||
|
|
if (oldMain) {
|
||
|
|
html = html.replace(oldMain, main);
|
||
|
|
if (!warned) {
|
||
|
|
warned = true;
|
||
|
|
console.warn(`当前项目根目录 index.html 未兼容 uni-app x 的 web 平台,请将里边的${oldMain} 调整为${main}。`);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
const tags = [];
|
||
|
|
if (process.env.NODE_ENV === 'development') {
|
||
|
|
tags.push({
|
||
|
|
tag: 'script',
|
||
|
|
children: `if (typeof globalThis === 'undefined') {
|
||
|
|
window.globalThis = window
|
||
|
|
}`,
|
||
|
|
injectTo: 'head-prepend',
|
||
|
|
});
|
||
|
|
}
|
||
|
|
return {
|
||
|
|
html: html.replace(/<title>(.*?)<\/title>/, `<title>${title}</title>`),
|
||
|
|
tags,
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|
||
|
|
exports.createTransformIndexHtml = createTransformIndexHtml;
|