ฉันลองใช้เวลามากเกี่ยวกับ nodejs ที่อ่านไฟล์ภาษาจีน ในท้ายที่สุดไม่มีใครสมัครกับฉัน โชคดีที่ฉันแก้ไขได้
สามจุดความรู้ต่อไปนี้ทั้งหมดถูกสกัดจากโครงการ ในการเรียกใช้สคริปต์แยกต่างหากคุณต้องใช้โหมดโกลบอลเพื่อติดตั้งโมดูลเช่นการติดตั้งโมดูลการแปลงภาษาจีน (สิ่งนี้จำเป็นสำหรับวัตถุประสงค์อื่น ๆ ที่ตามมา):
การคัดลอกรหัสมีดังนี้:
npm ติดตั้ง -g iconv -lite
npm ติดตั้ง -g nodemailer
npm ติดตั้ง -g node -schedule
1. ปัญหาของ nodejs ที่อ่านการเข้ารหัสไฟล์ภาษาจีน
เตรียมไฟล์ข้อความ (แน่นอนว่ามันอาจเป็นไฟล์ CSV ฯลฯ ) test.txt และ text.csv และไฟล์ nodejs test.js มีดังนี้:
การคัดลอกรหัสมีดังนี้:
var iconv = ต้องการ ('iconv-lite');
var fs = ต้องการ ('fs');
var filestr = fs.readfilesync ('d: //test.csv', {การเข้ารหัส: 'ไบนารี'});
var buf = บัฟเฟอร์ใหม่ (filestr, 'binary');
var str = iconv.decode (buf, 'gbk');
console.log (str);
หากคุณอ่านไฟล์โดยตรงมันจะอ่านไม่ออก หากคุณไม่เชื่อคุณสามารถลองได้ จำเป็นต้องอ่านในการเข้ารหัสแบบไบนารีก่อนแล้วถอดรหัสใน GBK ผลการดำเนินการมีดังนี้:
ดูเพิ่มเติม: iconv-lite
2. nodejs ส่งอีเมล
ฉันไม่อยากพูดอะไรเพียงแค่อัปโหลดรหัสมันเข้าใจง่าย:
การคัดลอกรหัสมีดังนี้:
var nodemailer = reghed ('nodemailer');
// กำหนดค่าอีเมล
var transmitter = nodemailer.createTransport ('smtp', {
บริการ: '163qiye'
Auth: {
ผู้ใช้: '[email protected]'
ผ่าน: '123456'
-
-
// ส่งอีเมล
var sendmail = function (html) {
ตัวเลือก var = {
จาก: "[email protected]"
ถึง: "[email protected], [email protected]"
CC:'[email protected] '
-
Option.subject = 'แผนห้าปีที่ฉันทำเมื่อ 5 ปีก่อน'
ตัวเลือก. html = html;
transporter.sendmail (ตัวเลือก, ฟังก์ชั่น (ข้อผิดพลาด, การตอบกลับ) {
ถ้า (ข้อผิดพลาด) {
console.log ("ล้มเหลว:" + ข้อผิดพลาด);
}อื่น{
console.log ("ความสำเร็จ:" + response.message);
-
-
-
// โทรไปส่งอีเมล
Sendmail ("เนื้อหาเมล: <br/> เป้าหมายของฉันสำหรับปี 2558 คือการบรรลุเป้าหมายของปี 2014 ซึ่งฉันควรจะทำในปี 2013 เพราะฉันทำสัญญาในปี 2012 & วางแผนในปี 2011!");
ดูเพิ่มเติม: nodemailer
3. งานที่กำหนดเวลา Nodejs
สิ่งนี้ใช้ในหลาย ๆ ด้านและหากคุณคุ้นเคยกับไวยากรณ์ Linux Crontab มันจะง่ายกว่านี้ ตัวอย่างของ Zou นั้นกลมกลืนมากฮ่าฮ่า:
การคัดลอกรหัสมีดังนี้:
กำหนดตารางเวลา = ต้องการ ('Node-Schedule');
/*วิธี 1:
ระบุเวลาที่แน่นอนในการทำงาน
-
กำหนดตารางเวลา = ต้องการ ('Node-Schedule');
วันที่ var = วันที่ใหม่ (2014, 12, 31, 16, 1, 0);
var j = schedule.schedulejob (วันที่, ฟังก์ชัน () {
console.log ('2015 จะมาเร็ว ๆ นี้');
-
/*วิธี 2:
กี่นาทีต่อชั่วโมง
-
กฎ var = กำหนดการใหม่ recurrencerule ();
Rule.minute = 1;
var j = schedule.schedulejob (กฎ, ฟังก์ชัน () {
console.log ('i/' m มีความสุขมากตอนนี้! ');
-
/*วิธีที่สาม:
คล้ายกับ crontab
-
var j = schedule.schedulejob ('1 * * * *', function () {
console.log ('it/' s to to to tea ยามบ่าย! ');
-
ผลการดำเนินงานมีความกลมกลืนมากขึ้นฮ่าฮ่า:
อย่าสงสัยว่าทำไมงานแรกที่วางแผนไว้จึงไม่ถูกดำเนินการเพราะนี่เป็นเวลากรีนนิชและใช้เวลา 8 ชั่วโมงในการดำเนินการ ฮ่าฮ่า ~~
ดูเพิ่มเติม: Node-Schedule
หลังจากฟังเพลงเศร้าเป็นเวลาหนึ่งวันฉันก็มีความสุขมากขึ้นเท่าไหร่ฉันก็ฟังมากขึ้น ฮ่า