亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

npm install -g iconv-lite

npm install -g nodemailer

npm install -g node-schedule

1、nodejs讀取中文文件編碼問(wèn)題

準(zhǔn)備一個(gè)文本文件(當(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)一用二進(jìn)制編碼方式讀取,然后再用GBK解碼。運(yùn)行結(jié)果如下:

更多參見(jiàn):iconv-lite

2、nodejs發(fā)送郵件

啥都不想說(shuō),直接上代碼,簡(jiǎn)單易懂:

復(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年前制定的五年計(jì)劃'
    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!");

更多參見(jiàn):nodemailer

3、nodejs定時(shí)任務(wù)

這個(gè)用法很多,如果熟悉linux crontab語(yǔ)法,這個(gè)就更簡(jiǎn)單了。我鄒的這個(gè)例子很和諧,呵呵:

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

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

/*方式一:
    指定某一個(gè)時(shí)間執(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.');
});

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

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

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

不要奇怪為什么第一個(gè)計(jì)劃任務(wù)沒(méi)有執(zhí)行,因?yàn)檫@個(gè)是格林威治時(shí)間,它需要等8個(gè)小時(shí)后再執(zhí)行。呵呵~~

更多參見(jiàn):node-schedule

聽(tīng)了一天的悲傷的音樂(lè),越聽(tīng)越開(kāi)心。哈哈

相關(guān)文章

  • node.js入門(mén)教程之querystring模塊的使用方法

    node.js入門(mén)教程之querystring模塊的使用方法

    querystring模塊主要用來(lái)解析查詢字符串,下面這篇文章主要介紹了關(guān)于node.js中querystring模塊使用方法的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • docker中編譯nodejs并使用nginx啟動(dòng)

    docker中編譯nodejs并使用nginx啟動(dòng)

    這篇文章主要介紹了docker中編譯nodejs并使用nginx啟動(dòng)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • VsCode無(wú)法識(shí)別node問(wèn)題解決過(guò)程

    VsCode無(wú)法識(shí)別node問(wèn)題解決過(guò)程

    這篇文章主要給大家介紹了關(guān)于VsCode無(wú)法識(shí)別node問(wèn)題解決的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 關(guān)于Yarn的使用及說(shuō)明

    關(guān)于Yarn的使用及說(shuō)明

    這篇文章主要介紹了關(guān)于Yarn的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐

    node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐

    本文主要介紹了node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • NodeJs 模仿SIP話機(jī)注冊(cè)的方法

    NodeJs 模仿SIP話機(jī)注冊(cè)的方法

    這篇文章主要介紹了NodeJs 模仿SIP話機(jī)注冊(cè)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用Node.js在深度學(xué)習(xí)中做圖片預(yù)處理的方法

    使用Node.js在深度學(xué)習(xí)中做圖片預(yù)處理的方法

    這篇文章主要介紹了使用Node.js在深度學(xué)習(xí)中做圖片預(yù)處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 使用Node.js創(chuàng)建HTTP服務(wù)器并實(shí)現(xiàn)公網(wǎng)訪問(wèn)本地Server的步驟

    使用Node.js創(chuàng)建HTTP服務(wù)器并實(shí)現(xiàn)公網(wǎng)訪問(wèn)本地Server的步驟

    Node.js含有一系列內(nèi)置模塊,使得程序可以脫離 Apache HTTP Server 或 IIS,作為獨(dú)立服務(wù)器運(yùn),下面將介紹如何簡(jiǎn)單幾步實(shí)現(xiàn)遠(yuǎn)程公共網(wǎng)絡(luò)下訪問(wèn)windwos node.js的服務(wù)端,感興趣的朋友一起看看吧
    2023-11-11
  • 使用Meteor配合Node.js編寫(xiě)實(shí)時(shí)聊天應(yīng)用的范例

    使用Meteor配合Node.js編寫(xiě)實(shí)時(shí)聊天應(yīng)用的范例

    這篇文章主要介紹了使用Meteor配合Node.js編寫(xiě)實(shí)時(shí)聊天應(yīng)用的范例,Node.js作為異步框架,其最突出的使用便是用來(lái)編寫(xiě)實(shí)時(shí)應(yīng)用程序,需要的朋友可以參考下
    2015-06-06
  • express框架通過(guò)ejs模板渲染輸出頁(yè)面實(shí)例分析

    express框架通過(guò)ejs模板渲染輸出頁(yè)面實(shí)例分析

    這篇文章主要介紹了express框架通過(guò)ejs模板渲染輸出頁(yè)面的方法,結(jié)合實(shí)例形式分析了express框架使用ejs模版引擎渲染輸出的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2023-05-05

最新評(píng)論