最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

本地JS文件批量壓縮的操作方法

 更新時間:2022年12月02日 11:39:28   作者:請叫我頭頭哥  
這篇文章主要介紹了本地JS文件批量壓縮的方法,由于之前壓縮的JS文件都比較少,都是手動壓縮的。這次需要壓縮的文件比較多,所以用了批量壓縮,特此記錄一下,方便大家和自己以后再用到的時候備忘

最近在維護一個小后臺項目,有段JS需要壓縮上傳到CDN存儲服務(wù)器。由于之前壓縮的JS文件都比較少,都是手動壓縮的。這次需要壓縮的文件比較多,所以用了批量壓縮。特此記錄一下,方便大家和自己以后再用到的時候備忘。

準備工作

安裝nodejs

首先在本地安裝node.js和npm,一般npm集成于nodejs,即安裝nodejs,同時也安裝了npm。node.js下載地址,下載以后直接不停下一步就行,全部使用默認選項即可。下載完成后打開CMD,node -v檢測是否安裝成功,安裝成功則會顯示nodejs版本號。

安裝uglify插件

在cmd命令行執(zhí)行:npm install uglify-js -g

開始壓縮

壓縮的時候?qū)⑾旅娴拇a拷貝下來,然后生成bat文件,再運行bat文件(有些電腦可能需要windows管理員身份運行),然后依次輸入當(dāng)前的JS文件目錄。再輸入生成輸出壓縮后JS的目錄即可。

@ECHO OFF
setlocal enabledelayedexpansion
set source_path=%1
set target_dir=%2

IF [%1]==[] ( 
      rem echo please input javascript file or directory 
      set /p  source_path=please input javascript file or directory:
)

IF [%2]==[] ( 
      rem echo please input output directory 
      set /p target_dir=please input output directory:
) 
rem source path exists?
FOR %%i IN (%source_path%) DO SET FileAttrib=%%~ai

if "%FileAttrib%" equ ""   (     
      rem not found file attribute, source path not exist
      echo source path ^(%source_path%^) doesn't exist
      exit /b 0
)   ELSE   IF "%FileAttrib:~0,1%" equ "d" (
      rem source path is directory and not end with \, append \ to source path
      IF %source_path:~-1% neq \ (
            set source_path=%source_path%\
      )   
) 
echo source path is  %source_path%  

rem target path exists?
FOR %%i IN (%target_dir%) DO SET fa=%%~ai

IF   [%fa%]==[]   (
    rem target path not exist, make it
    mkdir %target_dir%
      
)  

IF %target_dir:~-1% neq \ (
      rem append \ to target path
      set target_dir=%target_dir%\
)
   
echo target path is %target_dir% 

IF [%FileAttrib:~0,1%]==[d] (
 
    for /r %source_path% %%I in (*.js) do ( 

      set file_name=%%~nI
      set parent=%%~dpI
      set target_parent=%target_dir%!parent:%source_path%=!
      if not exist !target_parent!  mkdir !target_parent!
      cd !target_parent!

      if [!file_name:~-4!] neq [.min] (      

            set w= uglifyjs %%I -m -c -O ascii_only=true -o   !target_parent!%%~nI.min.js 
            rem uglify .js file
            echo uglifyjs from "%%I" to "!target_parent!%%~nI.min.js"
            start cmd /c  "!w!"
      )  else (
           rem copy min.js file
           echo copy file from "%%~dpnI.js" to "!target_parent!%%~nI.js" 
           start cmd /c "copy  %%~dpnI.js  !target_parent!%%~nI.js" 
      )
       
    )
) else (
    for %%I in (%source_path%) do (
        IF    "%%~xI" EQU ".js"  (    
             set file_name=%%~nI
              if [!file_name:~-4!] neq [.min] (   
                  rem uglify .js file
                  set val=%target_dir%%%~nI.min.js       
                  echo uglifyjs from "%%I" to "!val!"
                  start cmd /c "uglifyjs  %%I  -m -c  -O ascii_only=true -o   !val!"
                  
              ) else (
                  rem copy min.js file
                  echo copy file from "%%I" to "%target_dir%%%~nI.js"
                  start cmd /c "copy  %%I %target_dir%%%~nI.js"  
              )
        
        )
    )
      
)
echo done

源碼地址

https://github.com/toutouge/javademosecond/tree/master/hellolearn

補充:JS壓縮方法及批量壓縮

壓縮JS的好處(1)減小文件的體積;
(2)減小網(wǎng)絡(luò)傳輸量和帶寬占用;
(3)減小服務(wù)器的處理的壓力;
(4)提高頁面的渲染顯示的速度。安裝uglify插件

# 執(zhí)行命令: 
npm install uglify-js -g

單文件壓縮

# 使用方法:uglifyjs + 要壓縮的js文件名稱 +? -o +? 壓縮后js文件名稱
uglifyjs vendor.js -o vendor.min.js

壓縮后文件體積明顯變?。。?!

批量壓縮方法

(1)新建txt文件,內(nèi)容如下

@echo off
:: 設(shè)置壓縮JS文件的根目錄,腳本會自動按樹層次查找和壓縮所有的JS(注意路勁中不能有空格)
SET JSFOLDER=D:\uglifyDestination
echo 正在查找JS文件
chdir /d %JSFOLDER%
for /r . %%a in (*.js) do (
    @echo 正在壓縮 %%~a ...
    uglifyjs %%~fa  -m -o %%~fa
)
echo 完成!
pause & exit

(2)修改文件為.bat文件
(3)將需要壓縮的js文件放置指定目錄(例:D:\uglifyDestination)
(4)雙擊bat文件開始壓縮

到此這篇關(guān)于本地JS文件批量壓縮的文章就介紹到這了,更多相關(guān)S文件批量壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Taro實現(xiàn)小程序商城的購物車功能模塊的實例代碼

    使用Taro實現(xiàn)小程序商城的購物車功能模塊的實例代碼

    這篇文章主要介紹了使用Taro實現(xiàn)的小程序商城的購物車功能模塊,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 解決JS請求路徑控制臺報錯?Failed?to?launch'xxx'?because?the?scheme?does?not?have?a?registered?handler的問題

    解決JS請求路徑控制臺報錯?Failed?to?launch'xxx'?because?t

    這篇文章主要介紹了JS請求路徑控制臺報錯?Failed?to?launch?‘xxx‘?because?the?scheme?does?not?have?a?registered?handler的問題,本文給大家分享最新完美解決方法,需要的朋友可以參考下
    2023-03-03
  • axios概念介紹和基本使用

    axios概念介紹和基本使用

    axios是一個基于Promise用于瀏覽器和nodejs的HTTP客戶端,下面這篇文章主要給大家介紹了關(guān)于axios概念介紹和基本使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • DIV菜單層實現(xiàn)代碼

    DIV菜單層實現(xiàn)代碼

    昨天我問一美工jQuery怎么樣了,他說簡單的還可以,復(fù)雜的就不行了,我又問是哪種程度的復(fù)雜?
    2010-11-11
  • 實現(xiàn)局部遮罩與關(guān)閉原理及代碼

    實現(xiàn)局部遮罩與關(guān)閉原理及代碼

    實現(xiàn)局部遮罩,或許對某些朋友有著特殊的意義。局部遮罩的原理很簡單另外加上關(guān)閉就有著另一番的效果,本文將介紹實現(xiàn)方法,感興趣的朋友可以了解下,或許對你有所幫助
    2013-02-02
  • 如何基于webpack創(chuàng)建plugin并發(fā)布npm包

    如何基于webpack創(chuàng)建plugin并發(fā)布npm包

    webpack 插件是一個具有 apply 方法的 JavaScript 對象,apply 方法會被 webpack compiler 調(diào)用,并且在 整個編譯生命周期都可以訪問 compiler 對象,這篇文章主要介紹了基于webpack創(chuàng)建plugin并發(fā)布npm包,需要的朋友可以參考下
    2024-07-07
  • JS跳過debugger的幾種方法小結(jié)

    JS跳過debugger的幾種方法小結(jié)

    本文主要介紹了JS跳過debugger的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 微信小程序?qū)崿F(xiàn)簡易計算器

    微信小程序?qū)崿F(xiàn)簡易計算器

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)簡易計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 一些很實用且必用的小腳本代碼

    一些很實用且必用的小腳本代碼

    一些很實用且必用的小腳本代碼...
    2006-08-08
  • 一個簡單的js漸顯(fadeIn)漸隱(fadeOut)類

    一個簡單的js漸顯(fadeIn)漸隱(fadeOut)類

    最近發(fā)現(xiàn)項目用的表單驗證不好使,干脆一邊參考人家的一邊自己寫了一個。在驗證有錯誤返回提示信息用到漸顯(fadeIn)漸隱(fadeOut)過渡(因為瀏覽器的效率實在太高了,一下就蹦了出來~~);
    2010-06-06

最新評論

香河县| 莱西市| 南和县| 延边| 徐闻县| 水城县| 长治市| 新乡市| 珲春市| 文化| 辽阳县| 黄石市| 桓台县| 灵川县| 久治县| 固安县| 神农架林区| 利川市| 集贤县| 砀山县| 克山县| 海宁市| 诏安县| 繁峙县| 正宁县| 砚山县| 浦北县| 延安市| 岳池县| 左权县| 鹰潭市| 迁安市| 隆尧县| 沈丘县| 板桥市| 杭州市| 庆城县| 宁强县| 芷江| 铜陵市| 琼海市|