將nodejs打包工具整合到鼠標(biāo)右鍵的方法
更新時(shí)間:2013年05月11日 17:06:59 作者:
昨天放出了主要的nodejs打包代碼(《nodejs寫(xiě)的簡(jiǎn)單項(xiàng)目打包工具》),今天放出整合到鼠標(biāo)右鍵的代碼,打包需要配置環(huán)境變量,添加NODE_PATH為node安裝路徑
打包用到的批處理文件代碼如下:
復(fù)制代碼 代碼如下:
@echo off
title Builder - 正在合并 ...
color 03
REM =====================================
REM jsbuilder beta版
REM
REM =====================================
SETLOCAL ENABLEEXTENSIONS
echo.
REM 過(guò)濾文件后綴,只combo js文件
if "%~x1" NEQ ".js" (
echo.
echo **** 請(qǐng)選擇JS文件
echo.
goto End
)
REM 檢查NODE_PATH
if "%NODE_PATH%" == "" goto NoNodePath
if not exist "%NODE_PATH%\node.exe" goto NoNodePath
set RESULT_FILE=%~n1-combo%~x1
:ZIP_CHOICE
echo 選擇是否【壓縮】合并后的js文件?
set input=
set /p input= -^> 請(qǐng)選擇(y/n):
if /i "%input%"=="n" goto UNZIP
if /i "%input%"=="y" goto ZIP
REM 調(diào)用build合并文件
:UNZIP
"%NODE_PATH%\node.exe" "%~dp0build.js" --unzip "%~n1%~x1" > "%RESULT_FILE%"
echo.
echo **** ~O(∩_∩)O~ 【合并】成功 ****
echo.
goto End
REM 調(diào)用build合并并且壓縮文件
:ZIP
"%NODE_PATH%\node.exe" "%~dp0build.js" "%~n1%~x1" > "%RESULT_FILE%"
echo.
echo **** ~O(∩_∩)O~ 【合并并壓縮】成功 ****
echo.
goto End
:NoNodePath
echo.
echo **** 請(qǐng)先安裝NodeJS并設(shè)置NODE_PATH環(huán)境變量 ****
echo.
:End
ENDLOCAL
pause
打包用的build.js代碼如下:
復(fù)制代碼 代碼如下:
//加載配置
require('./config.js');
//用到的模塊
var FS = require('fs'),
PATH = require('path'),
jscombo = require('./tool/jscombo'),
Util = require('util');
//獲取參數(shù)
var args = process.argv;
args = [].slice.call(args,2);
var opts = {};//配置
var curPath, rootPath = curPath = process.cwd();
//根據(jù)config.js的相對(duì)路徑設(shè)置,變換rootPath
if(typeof relativePath!=='undefined'){
rootPath = PATH.join(rootPath,relativePath);
}
var filename;//要處理的文件名字
//處理參數(shù)
out: while(args.length){
var v = args.shift();
switch(v){
case '-uz':
case '--unzip':
//combo后壓縮
opts.unzip = true;
break;
default:
filename = v;
break out;
}
}
// var filePath = PATH.join(rootPath,filename);
//將要壓縮的js文件路徑 轉(zhuǎn)化為相對(duì)rootpath的路徑
var rPath = PATH.relative(rootPath,PATH.join(curPath,filename));
var str = jscombo(rPath, rootPath, opts);
var fileout = process.stdout;
fileout.write(str);
您可能感興趣的文章:
- js調(diào)試工具console.log()方法查看js代碼的執(zhí)行情況
- node.js版本管理工具n無(wú)效的原理和解決方法
- js實(shí)現(xiàn)帶關(guān)閉按鈕始終顯示在網(wǎng)頁(yè)最底部工具條的方法
- PHP小技巧之JS和CSS優(yōu)化工具M(jìn)inify的使用方法
- JavaScript1.6數(shù)組新特性介紹以及JQuery的幾個(gè)工具方法
- js工具方法彈出蒙版
- 常用Extjs工具:Extjs.util.Format使用方法
- 一款js和css代碼壓縮工具[附JAVA環(huán)境配置方法]
- 解決http://16a.us/2.js之a(chǎn)rp欺騙的方法附專殺工具
- Angular工具方法學(xué)習(xí)
相關(guān)文章
淺談JsonObject中的key-value數(shù)據(jù)解析排序問(wèn)題
下面小編就為大家分享一篇淺談JsonObject中的key-value數(shù)據(jù)解析排序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
淺談JSON中stringify 函數(shù)、toJosn函數(shù)和parse函數(shù)
這篇文章主要介紹了淺談JSON中stringify 函數(shù)、toJosn函數(shù)和parse函數(shù),需要的朋友可以參考下2015-01-01
JSON與XML優(yōu)缺點(diǎn)對(duì)比分析
本文從各個(gè)方面向大家對(duì)比展示了json和xml的優(yōu)缺點(diǎn),十分的全面細(xì)致,有需要的小伙伴可以參考下。2015-07-07
Javascript 通過(guò)json自動(dòng)生成Dom的代碼
主要還是通過(guò)遞歸和迭代來(lái)遍歷json成員生成html元素 ,比較好的是num能制定循環(huán)次數(shù)可以少寫(xiě)很多代碼.具體應(yīng)用看場(chǎng)景了2010-04-04

