Files
2025-11-14 11:39:33 +08:00

45 lines
1.3 KiB
JavaScript

const path = require('path');
const fs = require('fs-extra');
module.exports = {
resolveToContext(dirName, relativePath, context) {
if (relativePath.startsWith('/')) {
return `${context}${relativePath}`;
}
return path.resolve(dirName, relativePath);
},
// 获取某个路径的脚本文件
transformScript: function (url, value, existsSync = fs.existsSync) {
url = `${url}/${value}`;
const ext = path.extname(url);
// 如果存在后缀,表示当前已经是一个文件
const exts = ['.js', '.wxs'];
if (exts.includes(ext) && existsSync(url)) {
return url;
}
// a/b/c => a/b/c.js
const jsFile = url + '.js';
if (existsSync(jsFile)) {
return jsFile;
}
// a/b/c => a/b/c.js
const wxsFile = url + '.wxs';
if (existsSync(wxsFile)) {
return wxsFile;
}
// a/b/c => a/b/c/index.js
const jsIndexFile = path.join(url, 'index.js');
if (existsSync(jsIndexFile)) {
return jsIndexFile;
}
const wxsIndexFile = path.join(url, 'index.wxs');
if (existsSync(wxsIndexFile)) {
return wxsIndexFile;
}
return null;
}
};