Browse Source

添加自定义文件名功能

zhibin 6 năm trước cách đây
mục cha
commit
1774949e6b
2 tập tin đã thay đổi với 16 bổ sung10 xóa
  1. 10 3
      README.md
  2. 6 7
      index.js

+ 10 - 3
README.md

@@ -7,9 +7,16 @@
 # 安装依赖包
 npm install
 
-# 运行脚本 后面参数为要压缩的项目的html文件
-node index.js ../project/index.html
+# 运行脚本 后面参数为要压缩的项目的html文件 
+node index.js ../project/index.html test.html test.js test.css
 
 ```
+#### 1.项目html入口(必须) 
+#### 2.生成html文件名(默认为minify-temp.html)
+#### 3.生成js文件名(默认为minify-script.js)
+#### 4.生成css文件名(默认为minify-style.css)
+  
+
+
+注意生成后的js,css在 project/js跟project/css文件目录内,会自动生成新的html文件,在打包前请新建css,js目录,注意css里面文件引用的路径
 
-注意生成后的js,css在 project/js跟project/css文件目录内,会自动生成新的html文件,在打包前请新建css,js目录,注意css里面文件引用的路径

+ 6 - 7
index.js

@@ -98,9 +98,8 @@ function mergeStatic (contents) {
 }
 
 
-async function main (file) {
+async function main(file, htmlName = 'minify-temp.html', jsName = 'minify-script.js', cssName = 'minify-style.css') {
   let src = path.join(process.cwd(), file)
-  console.log(src)
   let document = new JSDOM(fs.readFileSync(src)).window.document
   let dir = path.join(src, '../')
   let contents = await downContent(
@@ -110,9 +109,9 @@ async function main (file) {
   let ret = mergeStatic(contents)
   let $script = document.createElement('script')
   let $link = document.createElement('link')
-  $script.setAttribute('src', 'js/minify-script.js')
+  $script.setAttribute('src', 'js/' + jsName)
   $link.setAttribute('rel', 'stylesheet')
-  $link.setAttribute('href', 'css/minify-style.css')
+  $link.setAttribute('href', 'css/' + cssName)
 
   document.head.appendChild($link)
   document.body.appendChild($script)
@@ -124,9 +123,9 @@ async function main (file) {
     </html>
   `
 
-  fs.writeFileSync(path.join(dir, 'js/minify-script.js'), ret.script)
-  fs.writeFileSync(path.join(dir, 'css/minify-style.css'), ret.link)
-  fs.writeFileSync(path.join(dir, 'minify-temp.html'), minifyHtml(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, {
     removeComments: true,
     collapseWhitespace: true,
   }))