|
@@ -15,11 +15,14 @@ function scriptFilter(document) {
|
|
|
|
|
|
for (let i = 0, dom = document.querySelectorAll('script'); i < dom.length; i++) {
|
|
for (let i = 0, dom = document.querySelectorAll('script'); i < dom.length; i++) {
|
|
let src = dom[i].getAttribute('src')
|
|
let src = dom[i].getAttribute('src')
|
|
- ret.script.push(src ?
|
|
|
|
- {content: src, type: 1, url: src} :
|
|
|
|
- {content: dom[i].innerHTML, type: 0, url: src}
|
|
|
|
- )
|
|
|
|
- dom[i].parentNode.removeChild(dom[i]);
|
|
|
|
|
|
+
|
|
|
|
+ if (src || dom[i].innerHTML.trim().length > 0) {
|
|
|
|
+ ret.script.push(src ?
|
|
|
|
+ {content: src, type: 1, url: src} :
|
|
|
|
+ {content: dom[i].innerHTML, type: 0, url: src}
|
|
|
|
+ )
|
|
|
|
+ dom[i].parentNode.removeChild(dom[i]);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
for (let i = 0, dom = document.querySelectorAll('link[rel="stylesheet"],style'); i < dom.length; i++) {
|
|
for (let i = 0, dom = document.querySelectorAll('link[rel="stylesheet"],style'); i < dom.length; i++) {
|
|
@@ -80,7 +83,7 @@ function mergeStatic (contents) {
|
|
Object.keys(ret).forEach(label => {
|
|
Object.keys(ret).forEach(label => {
|
|
contents[label].forEach(item => {
|
|
contents[label].forEach(item => {
|
|
ret[label] += item.content
|
|
ret[label] += item.content
|
|
- label === 'script' && (ret[label] += ';')
|
|
|
|
|
|
+ label === 'script' && (ret[label] += ';\n')
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
|
|
@@ -129,14 +132,14 @@ async function main(file, htmlName = 'minify-temp.html', jsName = 'minify-script
|
|
|
|
|
|
let html = `
|
|
let html = `
|
|
<!doctype html>
|
|
<!doctype html>
|
|
- <html>
|
|
|
|
|
|
+ <html lang="zh">
|
|
${document.documentElement.innerHTML}
|
|
${document.documentElement.innerHTML}
|
|
</html>
|
|
</html>
|
|
`
|
|
`
|
|
|
|
|
|
- fs.writeFileSync(path.join(dir, 'js/' + jsName), ret.script)
|
|
|
|
- fs.writeFileSync(path.join(dir, 'css/' + cssName), ret.link)
|
|
|
|
- fs.writeFileSync(path.join(dir, htmlName), minifyHtml(html, {
|
|
|
|
|
|
+ fs.writeFileSync(path.join(dir, 'js/' + jsName), '\ufeff' + ret.script)
|
|
|
|
+ fs.writeFileSync(path.join(dir, 'css/' + cssName), '\ufeff' + ret.link)
|
|
|
|
+ fs.writeFileSync(path.join(dir, htmlName), '\ufeff' + minifyHtml(html, {
|
|
removeComments: true,
|
|
removeComments: true,
|
|
collapseWhitespace: true,
|
|
collapseWhitespace: true,
|
|
}))
|
|
}))
|