UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

29 lines (26 loc) 919 B
import { readFileSync, writeFileSync } from '../fs/fs.js'; import 'fs'; var getComponentNameStr = function getComponentNameStr(componentName) { return "export default {\n name: '".concat(componentName, "',"); }; /** * 为 Vue 组件添加、修正 name 属性 * @param {string} filePath 组件地址 * @param {string} componentName 组件名称 * @returns {string} 新的组件内容 * * @example * ```ts * addNameForComponent('xxx.vue', 'PressUploader'); * ``` */ function addNameForComponent(filePath, componentName) { var content = readFileSync(filePath); var result = content.replace(/export default {(?!\s+name)/, getComponentNameStr(componentName)).replace(/export default {\s+name: '(\w+)',/, function (a, origin) { console.log('[origin] ', origin); return getComponentNameStr(componentName); }); writeFileSync(filePath, result); return result; } export { addNameForComponent };