代码优化:将所有replaceAll方法改为replace方法
This commit is contained in:
parent
d5d01c5f19
commit
333e5cc878
@ -338,7 +338,7 @@ class RichText {
|
|||||||
// 获取当前正在编辑的内容
|
// 获取当前正在编辑的内容
|
||||||
getEditText() {
|
getEditText() {
|
||||||
// https://github.com/slab/quill/issues/4509
|
// https://github.com/slab/quill/issues/4509
|
||||||
return this.quill.container.firstChild.innerHTML.replaceAll(/ +/g, match =>
|
return this.quill.container.firstChild.innerHTML.replace(/ +/g, match =>
|
||||||
' '.repeat(match.length)
|
' '.repeat(match.length)
|
||||||
)
|
)
|
||||||
// 去除ql-cursor节点
|
// 去除ql-cursor节点
|
||||||
|
|||||||
@ -293,7 +293,7 @@ class Search {
|
|||||||
if (richText) {
|
if (richText) {
|
||||||
return replaceHtmlText(text, searchText, replaceText)
|
return replaceHtmlText(text, searchText, replaceText)
|
||||||
} else {
|
} else {
|
||||||
return text.replaceAll(searchText, replaceText)
|
return text.replace(new RegExp(searchText, 'g'), replaceText)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -511,7 +511,7 @@ export const loadImage = imgFile => {
|
|||||||
// 移除字符串中的html实体
|
// 移除字符串中的html实体
|
||||||
export const removeHTMLEntities = str => {
|
export const removeHTMLEntities = str => {
|
||||||
[[' ', ' ']].forEach(item => {
|
[[' ', ' ']].forEach(item => {
|
||||||
str = str.replaceAll(item[0], item[1])
|
str = str.replace(new RegExp(item[0], 'g'), item[1])
|
||||||
})
|
})
|
||||||
return str
|
return str
|
||||||
}
|
}
|
||||||
@ -528,7 +528,7 @@ export const isUndef = data => {
|
|||||||
|
|
||||||
// 移除html字符串中节点的内联样式
|
// 移除html字符串中节点的内联样式
|
||||||
export const removeHtmlStyle = html => {
|
export const removeHtmlStyle = html => {
|
||||||
return html.replaceAll(/(<[^\s]+)\s+style=["'][^'"]+["']\s*(>)/g, '$1$2')
|
return html.replace(/(<[^\s]+)\s+style=["'][^'"]+["']\s*(>)/g, '$1$2')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 给html标签中指定的标签添加内联样式
|
// 给html标签中指定的标签添加内联样式
|
||||||
@ -586,7 +586,7 @@ export const replaceHtmlText = (html, searchText, replaceText) => {
|
|||||||
// 文本节点
|
// 文本节点
|
||||||
root.replaceChild(
|
root.replaceChild(
|
||||||
document.createTextNode(
|
document.createTextNode(
|
||||||
node.nodeValue.replaceAll(searchText, replaceText)
|
node.nodeValue.replace(new RegExp(searchText, 'g'), replaceText)
|
||||||
),
|
),
|
||||||
node
|
node
|
||||||
)
|
)
|
||||||
@ -613,7 +613,7 @@ export const removeHtmlNodeByClass = (html, selector) => {
|
|||||||
|
|
||||||
// 判断一个颜色是否是白色
|
// 判断一个颜色是否是白色
|
||||||
export const isWhite = color => {
|
export const isWhite = color => {
|
||||||
color = String(color).replaceAll(/\s+/g, '')
|
color = String(color).replace(/\s+/g, '')
|
||||||
return (
|
return (
|
||||||
['#fff', '#ffffff', '#FFF', '#FFFFFF', 'rgb(255,255,255)'].includes(
|
['#fff', '#ffffff', '#FFF', '#FFFFFF', 'rgb(255,255,255)'].includes(
|
||||||
color
|
color
|
||||||
@ -623,7 +623,7 @@ export const isWhite = color => {
|
|||||||
|
|
||||||
// 判断一个颜色是否是透明
|
// 判断一个颜色是否是透明
|
||||||
export const isTransparent = color => {
|
export const isTransparent = color => {
|
||||||
color = String(color).replaceAll(/\s+/g, '')
|
color = String(color).replace(/\s+/g, '')
|
||||||
return (
|
return (
|
||||||
['', 'transparent'].includes(color) || /rgba\(\d+,\d+,\d+,0\)/.test(color)
|
['', 'transparent'].includes(color) || /rgba\(\d+,\d+,\d+,0\)/.test(color)
|
||||||
)
|
)
|
||||||
@ -1166,7 +1166,7 @@ export const removeFromParentNodeData = node => {
|
|||||||
// 给html自闭合标签添加闭合状态
|
// 给html自闭合标签添加闭合状态
|
||||||
export const handleSelfCloseTags = str => {
|
export const handleSelfCloseTags = str => {
|
||||||
selfCloseTagList.forEach(tagName => {
|
selfCloseTagList.forEach(tagName => {
|
||||||
str = str.replaceAll(
|
str = str.replace(
|
||||||
new RegExp(`<${tagName}([^>]*)>`, 'g'),
|
new RegExp(`<${tagName}([^>]*)>`, 'g'),
|
||||||
`<${tagName} $1 />`
|
`<${tagName} $1 />`
|
||||||
)
|
)
|
||||||
@ -1241,7 +1241,7 @@ export const handleInputPasteText = (e, text) => {
|
|||||||
// 去除格式
|
// 去除格式
|
||||||
text = getTextFromHtml(text)
|
text = getTextFromHtml(text)
|
||||||
// 去除换行
|
// 去除换行
|
||||||
// text = text.replaceAll(/\n/g, '')
|
// text = text.replace(/\n/g, '')
|
||||||
const textArr = text.split(/\n/g)
|
const textArr = text.split(/\n/g)
|
||||||
const fragment = document.createDocumentFragment()
|
const fragment = document.createDocumentFragment()
|
||||||
textArr.forEach((item, index) => {
|
textArr.forEach((item, index) => {
|
||||||
|
|||||||
@ -4,47 +4,51 @@ const fs = require('fs')
|
|||||||
const fileDest = path.join(__dirname, '../src/assets/svg')
|
const fileDest = path.join(__dirname, '../src/assets/svg')
|
||||||
const targetDest = path.join(__dirname, '../src/config/image.js')
|
const targetDest = path.join(__dirname, '../src/config/image.js')
|
||||||
|
|
||||||
const run = (dir) => {
|
const run = dir => {
|
||||||
let dirs = fs.readdirSync(dir)
|
let dirs = fs.readdirSync(dir)
|
||||||
dirs.forEach(item => {
|
dirs.forEach(item => {
|
||||||
let cur = path.join(dir, item)
|
let cur = path.join(dir, item)
|
||||||
if (fs.statSync(cur).isDirectory()) {
|
if (fs.statSync(cur).isDirectory()) {
|
||||||
walkDir(cur, item)
|
walkDir(cur, item)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const list = []
|
const list = []
|
||||||
const importList = []
|
const importList = []
|
||||||
const walkDir = (dir, item) => {
|
const walkDir = (dir, item) => {
|
||||||
let files = fs.readdirSync(dir)
|
let files = fs.readdirSync(dir)
|
||||||
let name = files.find((file) => {
|
let name = files.find(file => {
|
||||||
return !/\./.test(file)
|
return !/\./.test(file)
|
||||||
|
})
|
||||||
|
let fileList = files.filter(file => {
|
||||||
|
return /\.svg$/.test(file)
|
||||||
|
})
|
||||||
|
let itemList = []
|
||||||
|
fileList.forEach(file => {
|
||||||
|
let fileName =
|
||||||
|
item + '_' + file.replace(/\.svg$/, '').replace(new RegExp('-', 'g'), '')
|
||||||
|
importList.push(`import ${fileName} from '../assets/svg/${item}/${file}'`)
|
||||||
|
itemList.push({
|
||||||
|
url: fileName,
|
||||||
|
width: 100,
|
||||||
|
height: 100
|
||||||
})
|
})
|
||||||
let fileList = files.filter((file) => {
|
})
|
||||||
return /\.svg$/.test(file)
|
list.push({
|
||||||
})
|
name,
|
||||||
let itemList = []
|
list: itemList
|
||||||
fileList.forEach((file) => {
|
})
|
||||||
let fileName = item + '_' + file.replace(/\.svg$/, '').replaceAll('-', '')
|
const content = `
|
||||||
importList.push(`import ${fileName} from '../assets/svg/${item}/${file}'`)
|
|
||||||
itemList.push({
|
|
||||||
url: fileName,
|
|
||||||
width: 100,
|
|
||||||
height: 100
|
|
||||||
})
|
|
||||||
})
|
|
||||||
list.push({
|
|
||||||
name,
|
|
||||||
list: itemList
|
|
||||||
})
|
|
||||||
const content = `
|
|
||||||
// 该文件请运行npm run createNodeImageList命令自动生成
|
// 该文件请运行npm run createNodeImageList命令自动生成
|
||||||
${importList.join('\n')}
|
${importList.join('\n')}
|
||||||
export default ${JSON.stringify(list, null, 2).replace(/(url":\s*)"([^"]+)"(,)/g, '$1$2$3')}
|
export default ${JSON.stringify(list, null, 2).replace(
|
||||||
|
/(url":\s*)"([^"]+)"(,)/g,
|
||||||
|
'$1$2$3'
|
||||||
|
)}
|
||||||
`
|
`
|
||||||
fs.writeFileSync(targetDest, content)
|
fs.writeFileSync(targetDest, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
run(fileDest)
|
run(fileDest)
|
||||||
console.log('运行成功')
|
console.log('运行成功')
|
||||||
|
|||||||
@ -142,7 +142,7 @@ export default {
|
|||||||
? nodeRichTextToTextWithWrap(root.data.text)
|
? nodeRichTextToTextWithWrap(root.data.text)
|
||||||
: root.data.text
|
: root.data.text
|
||||||
text = htmlEscape(text)
|
text = htmlEscape(text)
|
||||||
text = text.replaceAll(/\n/g, '<br>')
|
text = text.replace(/\n/g, '<br>')
|
||||||
root.textCache = text // 保存一份修改前的数据,用于对比是否修改了
|
root.textCache = text // 保存一份修改前的数据,用于对比是否修改了
|
||||||
root.label = text
|
root.label = text
|
||||||
root.uid = root.data.uid
|
root.uid = root.data.uid
|
||||||
|
|||||||
@ -111,7 +111,7 @@ export default {
|
|||||||
? nodeRichTextToTextWithWrap(root.data.text)
|
? nodeRichTextToTextWithWrap(root.data.text)
|
||||||
: root.data.text
|
: root.data.text
|
||||||
text = htmlEscape(text)
|
text = htmlEscape(text)
|
||||||
text = text.replaceAll(/\n/g, '<br>')
|
text = text.replace(/\n/g, '<br>')
|
||||||
root.textCache = text // 保存一份修改前的数据,用于对比是否修改了
|
root.textCache = text // 保存一份修改前的数据,用于对比是否修改了
|
||||||
root.label = text
|
root.label = text
|
||||||
root.uid = root.data.uid
|
root.uid = root.data.uid
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user