لقد كنت أحاول الكثير من الوقت حول قراءة Nodejs الملفات الصينية. في النهاية ، لا ينطبق أي منهم علىي. لحسن الحظ ، قمت بحلها.
يتم استخراج جميع نقاط المعرفة الثلاثة التالية من المشروع. لتشغيل البرامج النصية بشكل منفصل ، تحتاج إلى استخدام الوضع العالمي لتثبيت الوحدة النمطية ، مثل تثبيت وحدة التحويل الصينية (هذا مطلوب أيضًا لأغراض لاحقة أخرى):
نسخة الكود كما يلي:
تثبيت NPM -g Iconv -Lite
تثبيت NPM -g nodemailer
NPM تثبيت -G جدولة العقدة
1. قضايا NodeJS قراءة تشفير الملفات الصينية
قم بإعداد ملف نصي (بالطبع يمكن أن يكون أيضًا ملف CSV ، إلخ
نسخة الكود كما يلي:
var iconv = require ('iconv-lite') ؛
var fs = require ('fs') ؛
var filestr = fs.readfilesync ('d: //test.csv' ، {الترميز: 'binary'}) ؛
var buf = new Buffer (filestr ، 'binary') ؛
var str = iconv.decode (buf ، 'gbk') ؛
console.log (str) ؛
إذا قرأت الملف مباشرة ، فهو مشوه. إذا كنت لا تصدق ذلك ، فيمكنك تجربته. من الضروري قراءته في الترميز الثنائي أولاً ، ثم فك تشفيره في GBK. نتائج التشغيل كما يلي:
انظر المزيد: ICONV-LITE
2. Nodejs إرسال البريد الإلكتروني
لا أريد أن أقول أي شيء ، فقط قم بتحميل الكود ، من السهل فهمه:
نسخة الكود كما يلي:
var nodemailer = require ('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.html = html ؛
transporter.sendmail (الخيار ، الوظيفة (خطأ ، استجابة) {
إذا (خطأ) {
console.log ("فشل:" + خطأ) ؛
}آخر{
console.log ("النجاح:" + response.message) ؛
}
}) ؛
}
// اتصل لإرسال البريد الإلكتروني
SendMail ("محتوى البريد: <br/> هدفي لعام 2015 هو تحقيق أهداف 2014 التي كان ينبغي علي فعلها في عام 2013 لأنني وعدت في عام 2012 والمخطط لها في عام 2011!") ؛
انظر المزيد: Nodemailer
3. Nodejs مهام توقيت
يتم استخدام هذا بعدة طرق ، وإذا كنت على دراية ببناء Linux Crontab ، فسيكون الأمر أكثر بساطة. مثال Zou الخاص بي متناغم للغاية ، هاها:
نسخة الكود كما يلي:
var thement = require ('node-schedule') ؛
/*الطريقة 1:
حدد وقتًا معينًا لأداء المهام
*/
var thement = require ('node-schedule') ؛
VAR DATE = تاريخ جديد (2014 ، 12 ، 31 ، 16 ، 1 ، 0) ؛
var j = mathere.schedulejob (date ، function () {
console.log ('2015 سيأتي قريبا.') ؛
}) ؛
/*الطريقة 2:
كم دقيقة في الساعة
*/
VAR RULE = NEW SCHELLED.RECURRENCERULE () ؛
القاعدة. minute = 1 ؛
var j = mathere.schedulejob (القاعدة ، الدالة () {
console.log ('i/' m سعيد جدًا الآن! ') ؛
}) ؛
/*الطريقة الثالثة:
على غرار Crontab
*/
var j = mathere.schedulejob ('1 * * * *' ، function () {
console.log ('it/' s to to peensy tea! ') ؛
}) ؛
نتائج العملية أكثر انسجاما ، هاها:
لا تتساءل لماذا لم يتم تنفيذ المهمة المخططة الأولى ، لأن هذا هو الوقت الذي يستغرقه تنفيذ 8 ساعات. هاها ~~
انظر المزيد: عقدة الجدولة
بعد الاستماع إلى الموسيقى الحزينة ليوم واحد ، أصبحت أكثر سعادة كلما استمعت. ها ها ها