nodejs scripts使用js文件

nodejs

package.json

scripts中,注意 set值时 变量会带空格,处理方式 内容里取出变量空格,方式二 直接使用&&连接
如: set PARAM=/AFE/AE && echo 111 会带空格,不带空格 set PARAM=/AFE/AE&& echo 111
在这里插入图片描述
可以安装
cross-env 来设置环境变量 npm install corss-env

    "view": "set NODE_ENV=development && node view.js",
    "view-cross-env": "cross-env NODE_ENV=development node view.js",

xcopy

deploy.js

在这里插入图片描述

在这里插入图片描述

删除文件夹

clean.js

rmdir /S /Q ${dir1} ...

在这里插入图片描述

nodejs其他例子

1

// 遍历目录
var fs = require('fs');
var path = require('path');
var exec = require('child_process').exec;
 
function readFileList(dir, filesList = []) {
    const files = fs.readdirSync(dir);
    console.log(files);
    files.forEach((item, index) => {
        var fullPath = path.join(dir, item);
        const stat = fs.statSync(fullPath);
        if (stat.isDirectory()) {      
            readFileList(path.join(dir, item), filesList);  //递归读取文件
        } else {                
            filesList.push(fullPath);                     
        }        
    });
    return filesList;
}
 
console.log("__dirname", __dirname);
var filesList = [];
readFileList(__dirname,filesList);
console.log(filesList);

// __dirname 项目文件夹路径
// 获取目录下所有文件
const files = fs.readdirSync(dir);
// 同步复制文件copyFileSync; 异步复制文件 fs.copyFile
// fs.copyFileSync
// fs.rmdirSync

2

// 输出package.json下 name变量
console.log(process.env.npm_package_name); // foo
console.log(process.env.npm_package_version); // 1.2.5
console.log(process.env.npm_package_repository_url); // 1.2.5
console.log(process.env.NODE_ENV); // 1.2.5

var exec = require('child_process').exec;

// var cmdStr = "echo {\"a\":\"abc\"}";
var cmdStr = "echo abc && dir";

var ar = new Array();
console.log(ar.push(111))
var testParam = "aaa";
var str = "sdfwef 888 ${testParam } 999";
console.log(str);
// var re = new RegExp("\\w+");
// var re = /\w+/;
// str = str.replace(/\$\{\s*testParam\}/, testParam)
// 替换占位符
str = str.replace(new RegExp("\\$\{\\s*" + "testParam" + "\\s*\}"), testParam);
console.log(str);


exec(cmdStr, function(err, stdout, stderr){
    if(err) {
        console.log('get weather api error:'+stderr);
    } else {
        /*
        这个stdout的内容就是上面我curl出来的这个东西:
        {"weatherinfo":{"city":"北京","cityid":"101010100","temp":"3","WD":"西北风","WS":"3级","SD":"23%","WSE":"3","time":"21:20","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1019"}}
        */
        // var data = JSON.parse(stdout);
        console.log(stdout);
    }
});



/* 子进程调用系统命令
free = spawn('free', ['-m']);
// 捕获标准输出并将其打印到控制台 
free.stdout.on('data', function (data) { 
    console.log('standard output:\n' + data); 
});

// 捕获标准错误输出并将其打印到控制台 
free.stderr.on('data', function (data) { 
    console.log('standard error output:\n' + data); 
});

// 注册子进程关闭事件 
free.on('exit', function (code, signal) { 
    console.log('child process eixt ,exit:' + code); 
}); */

使用nodejs文件中的属性

注意使用npm_package_
“view-bat”: “echo %npm_package_version%”, window系统变量,package.json中的属性
“view-bash”: “echo $npm_package_version”, linux 系统变量

  "scripts": {
    "pretest": "echo do pretest",
    "test": "echo test",
    "posttest": "echo do posttest",
    "version": "echo version",
    "view": "set NODE_ENV=development && node view.js",
    "view-cross-env": "cross-env NODE_ENV=development node view.js",
    "view-bat": "echo %npm_package_version%",
    "view-bash": "echo $npm_package_version",
    "view-file": "node file.js",
    "view-tomcat": "echo %npm_package_userConfig_tomcatHome%/agge/sdf.json",
    "copy": "node copy.js",
    "clean": "chcp 65001 && set TOMCAT_HOME=H:\\mydir\\tomcat&& node clean.js"
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章