t-comm
Version:
专业、稳定、纯粹的工具库
29 lines (26 loc) • 919 B
JavaScript
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 };