node很坑 一起來優化吧
// 執行cmd命令 最穩妥模式 跟在cmd窗口上 輸入運行一模一樣
function cmdSync(str) {
var ls = child_process.spawnSync('cmd',['/c', str],{windowsVerbatimArguments:true});
//return iconv.decode(ls.stdout,'gbk')+iconv.decode(ls.stderr,'gbk')
}
node忽略https證書錯誤問題
//方案1:在代碼中,在調用之前 https.request() 加入
global.process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
//方案2:設置忽略
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET',
rejectUnauthorized: false,
requestCert: true,
agent: false
},
//列隊加載資源調度 不卡死
var cbb =[];
var vc=false,
date=new Date().getTime(),
len=cbb.length,
cwd =process.cwd();
setInterval(()=>{
var aabb;
aabb=cbb.pop();
if(aabb){
require(cwd+aabb);
}else{
if(vc)return;
vc=true;
clearInterval(aaccdd);
console.log('require緩存加載完成!locadCache.js '+(new Date().getTime()-date));
return;
}
},0);
nwjs 異常終止 注意啦 連拋2次異常
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(':memory:');
process.on('uncaughtException', function () {console.log('Caught exception: ' ,arguments);});
db.all("select * from test",function(err,res){
db.all("select * from test",function(err,res){
throw new Error(123);
});
throw new Error(123);
});
nw 0.14.7 LTS