最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例

 更新時間:2015年01月01日 10:07:56   投稿:junjie  
這篇文章主要介紹了Nodejs中讀取中文文件編碼問題、發(fā)送郵件和定時任務(wù)實例,本文使用了3個模塊來解決這3個需求,并給出了代碼操作實例,需要的朋友可以參考下

關(guān)于nodejs讀取中文文件真是折騰了不少時間,網(wǎng)上各種方案,最后沒有一個適用我,好在解決了。

下面的三個知識點都是從項目中抽出的,要單獨運行腳本的話需要用全局模式來安裝模塊,比如安裝中文轉(zhuǎn)換模塊(后續(xù)其它的也需要這么做):

復(fù)制代碼 代碼如下:

npm install -g iconv-lite

npm install -g nodemailer

npm install -g node-schedule

1、nodejs讀取中文文件編碼問題

準備一個文本文件(當(dāng)然也可以是csv文件等)test.txt和text.csv,nodejs文件test.js如下:

復(fù)制代碼 代碼如下:

var iconv = require('iconv-lite');
var fs = require('fs');

var fileStr = fs.readFileSync('D:\\test.csv', {encoding:'binary'});
var buf = new Buffer(fileStr, 'binary');
var str = iconv.decode(buf, 'GBK');

console.log(str);

直接讀文件的話是亂碼,不信你可以試試。需要先統(tǒng)一用二進制編碼方式讀取,然后再用GBK解碼。運行結(jié)果如下:

更多參見:iconv-lite

2、nodejs發(fā)送郵件

啥都不想說,直接上代碼,簡單易懂:

復(fù)制代碼 代碼如下:

var nodemailer = require('nodemailer');

//配置郵件
var transporter = nodemailer.createTransport('SMTP',{
    service: '163qiye',
    auth: {
        user: 'zhoujie0111@126.com',
        pass: '123456',
    }
});

//發(fā)送郵件
var sendmail = function(html){
    var option = {
            from:"zhoujie0111@126.com",
            to:"zhoujie0111@126.com,zhoujie0111@126.com",
            cc:'zhoujie0111@126.com'
        }
    option.subject = '我5年前制定的五年計劃'
    option.html= html;
    transporter.sendMail(option, function(error, response){
        if(error){
            console.log("fail: " + error);
        }else{
            console.log("success: " + response.message);
        }
    });
}

//調(diào)用發(fā)送郵件
sendmail("郵件內(nèi)容:<br/>My goal for 2015 is to accomplish the goals of 2014 which I should have done in 2013 because I made a promise in 2012 & planned in 2011!");

更多參見:nodemailer

3、nodejs定時任務(wù)

這個用法很多,如果熟悉linux crontab語法,這個就更簡單了。我鄒的這個例子很和諧,呵呵:

復(fù)制代碼 代碼如下:

var schedule = require('node-schedule');

/*方式一:
    指定某一個時間執(zhí)行任務(wù)
*/
var schedule = require('node-schedule');
var date = new Date(2014, 12, 31, 16, 1, 0);

var j = schedule.scheduleJob(date, function(){
    console.log('2015 will soon come.');
});

/*方式二:
    在每個小時的多少分鐘執(zhí)行
*/
var rule = new schedule.RecurrenceRule();
rule.minute = 1;
var j = schedule.scheduleJob(rule, function(){
    console.log('I\'m very happy now!');
});

/*方式三:
    類似crontab
*/
var j = schedule.scheduleJob('1 * * * *', function(){
    console.log('It\'s time to 下午茶!');
});

運行結(jié)果更和諧,呵呵:

不要奇怪為什么第一個計劃任務(wù)沒有執(zhí)行,因為這個是格林威治時間,它需要等8個小時后再執(zhí)行。呵呵~~

更多參見:node-schedule

聽了一天的悲傷的音樂,越聽越開心。哈哈

相關(guān)文章

  • Node.JS 版本管理工具Fnm安裝及配置

    Node.JS 版本管理工具Fnm安裝及配置

    本文主要介紹了Node.js版本管理工具Fnm的安裝和配置過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • NodeJS前端自動化部署實現(xiàn)實例詳解

    NodeJS前端自動化部署實現(xiàn)實例詳解

    這篇文章主要為大家介紹了NodeJS前端自動化部署實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • node.js調(diào)用Chrome瀏覽器打開鏈接地址的方法

    node.js調(diào)用Chrome瀏覽器打開鏈接地址的方法

    其實在Node.JS中打開瀏覽器網(wǎng)址非常簡單,但還是有必要整理下分享給有需要的朋友們,這篇文章主要給大家介紹了node.js如何調(diào)用Chrome瀏覽器打開鏈接地址的方法,文中介紹的非常詳細,需要的朋友們下面隨著小編來一起看看吧。
    2017-05-05
  • Node.JS循環(huán)刪除非空文件夾及子目錄下的所有文件

    Node.JS循環(huán)刪除非空文件夾及子目錄下的所有文件

    這篇文章主要介紹了Node.JS循環(huán)刪除非空文件夾及子目錄下的所有文件及node.js遞歸刪除非空文件夾的實例代碼,需要的朋友可以參考下
    2018-03-03
  • 使用pm2管理node項目的流程步驟

    使用pm2管理node項目的流程步驟

    pm2?是?nodejs?的進程管理器,默認支持負載均衡,能夠守護進程,還支持查看應(yīng)用運行時的性能,資源占用情況等,本文給大家介紹了使用pm2管理node項目的流程步驟,需要的朋友可以參考下
    2025-03-03
  • iPhone手機上搭建nodejs服務(wù)器步驟方法

    iPhone手機上搭建nodejs服務(wù)器步驟方法

    這篇文章主要介紹了iPhone手機上搭建nodejs服務(wù)器步驟方法,本文給出了詳細的操作步驟以及操作命令,需要的朋友可以參考下
    2015-07-07
  • 讓nodeJS支持ES6的詞法----babel的安裝和使用方法

    讓nodeJS支持ES6的詞法----babel的安裝和使用方法

    這篇文章主要介紹了讓nodeJS支持ES6的詞法----babel的安裝和使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 利用NPM淘寶的node.js鏡像加速nvm

    利用NPM淘寶的node.js鏡像加速nvm

    這篇文章主要介紹了利用NPM淘寶的node.js鏡像加速nvm的相關(guān)資料,文中介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Node.js創(chuàng)建子進程的幾種實現(xiàn)方式

    Node.js創(chuàng)建子進程的幾種實現(xiàn)方式

    這篇文章主要介紹了Node.js創(chuàng)建子進程的幾種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解Nodejs內(nèi)存治理

    詳解Nodejs內(nèi)存治理

    本篇文章給大家分享了Nodejs內(nèi)存處理相關(guān)的知識點以及實例代碼分享,有興趣的朋友跟著學(xué)習(xí)下。
    2018-05-05

最新評論

财经| 宿州市| 观塘区| 杨浦区| 贵港市| 建昌县| 仪陇县| SHOW| 阳西县| 万全县| 晋江市| 恩施市| 寻甸| 和顺县| 广饶县| 邓州市| 青铜峡市| 绥芬河市| 五峰| 石泉县| 绥化市| 德清县| 庆安县| 卢龙县| 白河县| 德阳市| 抚州市| 镇江市| 布尔津县| 田林县| 渑池县| 广灵县| 黑水县| 沾化县| 沙洋县| 田阳县| 郧西县| 临汾市| 罗甸县| 新和县| 襄城县|