Rumah >hujung hadapan web >tutorial js >Membaca isu pengekodan fail Cina, menghantar e-mel dan contoh tugas berjadual dalam Nodejs_node.js

Membaca isu pengekodan fail Cina, menghantar e-mel dan contoh tugas berjadual dalam Nodejs_node.js

WBOY
WBOYasal
2016-05-16 16:22:411469semak imbas

Saya mengambil banyak masa untuk membaca fail Cina dengan nodej Terdapat pelbagai penyelesaian di Internet, tetapi tiada satu pun daripada mereka yang berkesan untuk saya.

Tiga mata pengetahuan berikut diekstrak daripada projek Jika anda ingin menjalankan skrip secara berasingan, anda perlu menggunakan mod global untuk memasang modul, seperti memasang modul penukaran bahasa Cina (anda juga perlu melakukan ini. untuk perkara lain pada masa hadapan):

Salin kod Kod adalah seperti berikut:

npm install -g iconv-lite

npm pasang -g nodemailer

npm install -g nod-schedule

1. Masalah pengekodan fail Cina Nodejs

Sediakan fail teks (sudah tentu ia juga boleh menjadi fail csv, dsb.) test.txt dan text.csv, dan fail nodejs test.js adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

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

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

console.log(str);

Jika anda membaca fail secara terus, ia akan menjadi kacau jika anda tidak percaya, anda boleh mencubanya. Ia perlu membaca secara seragam menggunakan pengekodan binari terlebih dahulu, dan kemudian gunakan GBK untuk menyahkod. Keputusan larian adalah seperti berikut:

Lihat lagi: iconv-lite

2. Hantar e-mel dengan nodej

Jangan cakap apa-apa, tulis kod terus, ia mudah dan mudah difahami:

Salin kod Kod adalah seperti berikut:

var nodemailer = memerlukan('nodemailer');

//Konfigurasikan e-mel
var transporter = nodemailer.createTransport('SMTP',{
Perkhidmatan: '163qiye',
pengesahan: {
         pengguna: 'zhoujie0111@126.com',
Lulus: '123456',
}
});

//Hantar e-mel
var sendmail = function(html){
pilihan var = {
                                                                                                                                                                                                                                                                                        Daripada:"zhoujie0111@126.com",
                 kepada:"zhoujie0111@126.com,zhoujie0111@126.com",
              cc:'zhoujie0111@126.com'
}
​ option.subject = 'Rancangan lima tahun yang saya buat 5 tahun lalu'
​ option.html= html;
Transporter.sendMail(pilihan, fungsi(ralat, respons){
          jika (ralat){
console.log("gagal: " ralat);
         }lain{
console.log("success: " response.message);
}
});
}

//Panggil untuk menghantar e-mel
sendmail("Kandungan e-mel:
Matlamat saya untuk tahun 2015 adalah untuk mencapai matlamat tahun 2014 yang sepatutnya saya lakukan pada tahun 2013 kerana saya telah membuat janji pada tahun 2012 & merancang pada tahun 2011!");

Lihat lagi: nodemailer

3. tugasan berjadual nodej

Terdapat banyak cara untuk menggunakan ini Jika anda biasa dengan sintaks crontab Linux, ini akan menjadi lebih mudah. Contoh Zou saya ini sangat harmoni, haha:

Salin kod Kod adalah seperti berikut:

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

/*Kaedah 1:
Tentukan masa tertentu untuk melaksanakan tugas
*/
var schedule = require('node-schedule');
tarikh var = Tarikh baharu(2014, 12, 31, 16, 1, 0);

var j = schedule.scheduleJob(tarikh, fungsi(){
console.log('2015 akan datang tidak lama lagi.');
});

/*Kaedah 2:
Berapa minit setiap jam untuk melaksanakan
*/
var rule = jadual baharu.RecurrenceRule();
peraturan.minit = 1;
var j = schedule.scheduleJob(peraturan, fungsi(){
console.log('Saya sangat gembira sekarang!');
});

/*Kaedah 3:
Serupa dengan crontab
*/
var j = schedule.scheduleJob('1 * * * *', function(){
console.log('Sudah tiba masanya untuk minum petang!');
});

Hasil larian lebih harmoni, haha:

Jangan tertanya-tanya mengapa tugasan berjadual pertama tidak dilaksanakan, kerana ini ialah Masa Min Greenwich, ia perlu menunggu 8 jam sebelum melaksanakan. Haha~~

Lihat lagi: jadual nod

Selepas mendengar muzik sedih selama sehari, semakin saya mendengarnya, semakin saya gembira. Haha

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn