支持小程序app.json中tabbar的iconpath路径解析
This commit is contained in:
parent
6f3b196b96
commit
1d1328cb5d
|
|
@ -20,6 +20,12 @@ module.exports = (babel) => {
|
||||||
/index\.(ts|js)$/,
|
/index\.(ts|js)$/,
|
||||||
'web.js'
|
'web.js'
|
||||||
);
|
);
|
||||||
|
const xmlFile = filename.replace(
|
||||||
|
/index\.(ts|js)$/,
|
||||||
|
'index.xml'
|
||||||
|
);
|
||||||
|
const xmlFileExists = fs.existsSync(xmlFile);
|
||||||
|
|
||||||
const tsxFileExists = fs.existsSync(tsxFile);
|
const tsxFileExists = fs.existsSync(tsxFile);
|
||||||
const jsFileExists = fs.existsSync(jsFile);
|
const jsFileExists = fs.existsSync(jsFile);
|
||||||
const pcTsxFile = filename.replace(
|
const pcTsxFile = filename.replace(
|
||||||
|
|
@ -194,7 +200,7 @@ module.exports = (babel) => {
|
||||||
statements.push(...renderJsStatements);
|
statements.push(...renderJsStatements);
|
||||||
} else if (pcJsFileExists) {
|
} else if (pcJsFileExists) {
|
||||||
statements.push(...renderPcJsStatements);
|
statements.push(...renderPcJsStatements);
|
||||||
} else {
|
} else if (!xmlFileExists) {
|
||||||
assert(
|
assert(
|
||||||
false,
|
false,
|
||||||
`${filename}文件中不存在web.tsx或者web.pc.tsx`
|
`${filename}文件中不存在web.tsx或者web.pc.tsx`
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ function makeRouterItem(page, ns, namespacePath, first) {
|
||||||
t.arrowFunctionExpression(
|
t.arrowFunctionExpression(
|
||||||
[],
|
[],
|
||||||
t.callExpression(t.import(), [
|
t.callExpression(t.import(), [
|
||||||
t.stringLiteral(join('@project', 'pages', ns, path, 'index').replace(/\\/g, '/'))
|
t.stringLiteral(join(AppPaths.appRootSrc, 'pages', ns, path, 'index').replace(/\\/g, '/'))
|
||||||
])
|
])
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
@ -271,7 +271,7 @@ module.exports = () => {
|
||||||
t.arrowFunctionExpression(
|
t.arrowFunctionExpression(
|
||||||
[],
|
[],
|
||||||
t.callExpression(t.import(), [
|
t.callExpression(t.import(), [
|
||||||
t.stringLiteral(join('@project', 'pages', ns, notFound, 'index').replace(/\\/g, '/'))
|
t.stringLiteral(join(AppPaths.appRootSrc, 'pages', ns, notFound, 'index').replace(/\\/g, '/'))
|
||||||
])
|
])
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -184,12 +184,15 @@ class OakWeChatMpPlugin {
|
||||||
let realPages = [];
|
let realPages = [];
|
||||||
this.subpackRoot = [];
|
this.subpackRoot = [];
|
||||||
|
|
||||||
for (const { iconPath, selectedIconPath } of tabBar.list || []) {
|
for (const tab of tabBar.list || []) {
|
||||||
|
const { iconPath, selectedIconPath, pagePath } = tab;
|
||||||
if (iconPath) {
|
if (iconPath) {
|
||||||
tabBarAssets.add(iconPath);
|
const aliasPath = this.getAliasPath(iconPath);
|
||||||
|
tabBarAssets.add(aliasPath);
|
||||||
}
|
}
|
||||||
if (selectedIconPath) {
|
if (selectedIconPath) {
|
||||||
tabBarAssets.add(selectedIconPath);
|
const aliasPath = this.getAliasPath(selectedIconPath);
|
||||||
|
tabBarAssets.add(aliasPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -357,7 +360,7 @@ class OakWeChatMpPlugin {
|
||||||
ignore: this.getIgnoreExt(),
|
ignore: this.getIgnoreExt(),
|
||||||
dot: false,
|
dot: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.assetsEntry = [...entries, ...this.appEntries.tabBarAssets];
|
this.assetsEntry = [...entries, ...this.appEntries.tabBarAssets];
|
||||||
this.assetsEntry.forEach((resource) => {
|
this.assetsEntry.forEach((resource) => {
|
||||||
new EntryPlugin(
|
new EntryPlugin(
|
||||||
|
|
@ -543,6 +546,23 @@ class OakWeChatMpPlugin {
|
||||||
appJson.pages = pages;
|
appJson.pages = pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (appJson.tabBar) {
|
||||||
|
const list = appJson.tabBar.list;
|
||||||
|
|
||||||
|
for (const tab of list || []) {
|
||||||
|
const { iconPath, selectedIconPath, pagePath } = tab;
|
||||||
|
if (iconPath) {
|
||||||
|
tab.iconPath = this.getReplaceAlias(iconPath);
|
||||||
|
}
|
||||||
|
if (selectedIconPath) {
|
||||||
|
tab.selectedIconPath = this.getReplaceAlias(selectedIconPath);
|
||||||
|
}
|
||||||
|
if (pagePath) {
|
||||||
|
tab.pagePath = this.getReplaceAlias(pagePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let usingComponents = {};
|
let usingComponents = {};
|
||||||
if (appJson.usingComponents) {
|
if (appJson.usingComponents) {
|
||||||
for (let ck of Object.keys(appJson.usingComponents)) {
|
for (let ck of Object.keys(appJson.usingComponents)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue