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; } };