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"
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章