将nodejs打包工具整合到鼠标右键的方法


Posted in NodeJs onMay 11, 2013

打包用到的批处理文件代码如下:

@echo off
title Builder - 正在合并 ...color 03
REM =====================================
REM     jsbuilder beta版
REM
REM =====================================
SETLOCAL ENABLEEXTENSIONS
echo.
REM 过滤文件后缀,只combo js文件
if "%~x1" NEQ ".js" (
    echo.
    echo **** 请选择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= -^> 请选择(y/n): 
if /i "%input%"=="n" goto UNZIP
if /i "%input%"=="y" goto ZIP
REM 调用build合并文件
:UNZIP
"%NODE_PATH%\node.exe" "%~dp0build.js" --unzip "%~n1%~x1" > "%RESULT_FILE%"
echo.
echo **** ~O(∩_∩)O~ 【合并】成功 ****
echo.
goto End
 
REM 调用build合并并且压缩文件
:ZIP
"%NODE_PATH%\node.exe" "%~dp0build.js" "%~n1%~x1" > "%RESULT_FILE%"
echo.
echo **** ~O(∩_∩)O~ 【合并并压缩】成功 ****
echo.
goto End
:NoNodePath
echo.
echo **** 请先安装NodeJS并设置NODE_PATH环境变量 ****
echo.
:End
ENDLOCAL
pause

打包用的build.js代码如下:

//加载配置
require('./config.js');//用到的模块
var FS = require('fs'),
    PATH = require('path'),
    jscombo = require('./tool/jscombo'),
    Util = require('util');
 
//获取参数
var args = process.argv;
args = [].slice.call(args,2);
var opts = {};//配置
var curPath, rootPath = curPath = process.cwd();
//根据config.js的相对路径设置,变换rootPath
if(typeof relativePath!=='undefined'){
    rootPath = PATH.join(rootPath,relativePath);
}
var filename;//要处理的文件名字
//处理参数
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文件路径 转化为相对rootpath的路径
var rPath = PATH.relative(rootPath,PATH.join(curPath,filename));
var str = jscombo(rPath, rootPath, opts);
var fileout = process.stdout;
fileout.write(str);
NodeJs 相关文章推荐
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
nodejs获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
ubuntu下安装nodejs以及升级的办法
May 08 NodeJs
Nodejs的express使用教程
Nov 23 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
Node.js实现爬取网站图片的示例代码
Apr 04 NodeJs
用nodejs写的一个简单项目打包工具
May 11 #NodeJs
nodejs教程 安装express及配置app.js文件的详细步骤
May 11 #NodeJs
nodejs中exports与module.exports的区别详细介绍
Jan 14 #NodeJs
nodejs的require模块(文件模块/核心模块)及路径介绍
Jan 14 #NodeJs
windows系统下简单nodejs安装及环境配置
Jan 08 #NodeJs
NodeJs中的非阻塞方法介绍
Jun 05 #NodeJs
nodejs win7下安装方法
May 24 #NodeJs
You might like
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
Yii分页用法实例详解
2014/12/04 PHP
js 操作select相关方法函数
2009/12/06 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jquery判断元素是否隐藏的多种方法
2014/05/06 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
JS回调函数深入理解
2019/10/16 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
Python smtplib实现发送邮件功能
2018/05/22 Python
python实现证件照换底功能
2019/08/20 Python
Python+OpenCV检测灯光亮点的实现方法
2020/11/02 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
党章学习思想汇报
2014/01/14 职场文书
自行车广告词大全
2014/03/21 职场文书
保护环境建议书100字
2014/05/13 职场文书
综合素质评价自我评价
2015/03/06 职场文书
高一军训感想
2015/08/07 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python