zhibin пре 6 година
родитељ
комит
c92420d35a
1 измењених фајлова са 13 додато и 10 уклоњено
  1. 13 10
      index.js

+ 13 - 10
index.js

@@ -15,11 +15,14 @@ function scriptFilter(document) {
 
   for (let i = 0, dom = document.querySelectorAll('script'); i < dom.length; i++) {
     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++) {
@@ -80,7 +83,7 @@ function mergeStatic (contents) {
   Object.keys(ret).forEach(label => {
     contents[label].forEach(item => {
       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 = `
     <!doctype html>
-    <html>
+    <html  lang="zh">
     ${document.documentElement.innerHTML}
     </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,
     collapseWhitespace: true,
   }))