最近在撸项目工程化的时侯,需要输出一些文案提示,
对于多行文本我肯定优先考虑用 ES6字符串模板来实现,直接使用的效果并不是很符合想要的。
因为字符串模板会默认保留你换行的格式,包括缩进这些。
let outMsg = `
${override ? "正在" : "文件不存在,开始"}生成文件${fileName}..
文件路径: ${colors.yellow(filePath)}
继续执行构建-->`;
console.log(outMsg);
复制代码
let outMsg = `
${override ? "正在" : "文件不存在,开始"}生成文件${fileName}..
文件路径: ${colors.yellow(filePath)}
继续执行构建-->`.replace(/^\s+/gm, "");
console.log(colors.green(outMsg));
复制代码
这种虽然可以对齐的,但是写起来不舒服, 所以我选择了正则来处理
let a='fads\n'
a+='rewr\n';
复制代码
/**
*
* @param {string} strTemplate - ES6字符串模板多行
* @returns {string}
* @description - 返回去除行头空格的字符串
*/
function removeMultipleStrLeadingSpace(strTemplate) {
if (!strTemplate) {
return "";
}
return strTemplate.replace(/^\s+/gm, "");
}
module.exports = removeMultipleStrLeadingSpace;
复制代码
有这个函数基本可以让我写多行文案舒服一些了,有改进的方案或者不对之处请留言,谢谢阅读