将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服务器(5):事件处理程序
Dec 18 NodeJs
轻松创建nodejs服务器(10):处理上传图片
Dec 18 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
详解Nodejs内存治理
May 13 NodeJs
监控Nodejs的性能实例代码
Jul 02 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
详解nodejs内置模块
May 06 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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
php中处理模拟rewrite 效果
2006/12/09 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python实现对excel进行数据剔除操作实例
2017/12/07 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
中学实习教师自我鉴定
2013/12/12 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
电子商务专业自荐信
2014/06/02 职场文书
销售顾问工作计划书
2014/09/15 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
领导班子对照检查材料
2014/09/22 职场文书
护士求职自荐信范文
2015/03/04 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python
SQL Server内存机制浅探
2022/04/06 SQL Server