나는 Nodejs가 중국 파일을 읽는 것에 대해 많은 시간을 시도해 왔습니다. 결국, 그들 중 누구도 나에게 적용되지 않습니다. 다행히도 나는 그것을 해결했다.
다음 세 가지 지식 포인트는 모두 프로젝트에서 추출됩니다. 스크립트를 별도로 실행하려면 중국 변환 모듈 설치와 같은 모듈을 설치하려면 글로벌 모드를 사용해야합니다 (다른 후속 목적으로도 필요합니다).
코드 사본은 다음과 같습니다.
NPM 설치 -G iconv -lite
NPM 설치 -G 노드 메일러
npm install -g 노드 스케디글
1. Nodejs의 문제 중국 파일 인코딩을 읽는 문제
텍스트 파일을 준비합니다 (물론 CSV 파일 등이있을 수도 있습니다) Test.txt 및 Text.csv 및 Nodejs 파일 테스트는 다음과 같습니다.
코드 사본은 다음과 같습니다.
var iconv = require ( 'iconv-lite');
var fs = 요구 ( 'fs');
var filest = fs.readfilesync ( 'd : //test.csv', {encoding : 'binary'});
var buf = 새로운 버퍼 (Filest, 'binary');
var str = iconv.decode (buf, 'gbk');
Console.log (str);
파일을 직접 읽으면 차가워집니다. 믿지 않으면 시도해 볼 수 있습니다. 이진 인코딩에서 먼저 읽은 다음 GBK로 해독해야합니다. 작업 결과는 다음과 같습니다.
자세히보기 : Iconv-lite
2. nodejs는 이메일을 보냅니다
아무 말도하고 싶지 않고 코드를 업로드하면 이해하기 쉽습니다.
코드 사본은 다음과 같습니다.
var nodeMailer = require ( 'nodeMailer');
// 이메일을 구성합니다
var 송신기 = nodeMailer.createtRansport ( 'smtp', {
서비스 : '163qiye',
인증 : {
사용자 : '[email protected]',
패스 : '123456',
}
});
// 이메일 보내기
var sendmail = function (html) {
var 옵션 = {
보낸 사람 : "[email protected]",
to : "[email protected], [email protected]",
CC : '[email protected]'
}
옵션 .subject = '5 년 전에 만든 5 년 계획'
옵션 .html = html;
Transporter.SendMail (옵션, 함수 (오류, 응답) {
if (오류) {
Console.log ( "실패 :" + 오류);
}또 다른{
Console.log ( "성공 :" + response.message);
}
});
}
// 이메일을 보내려면 전화하십시오
Sendmail ( "메일 컨텐츠 : <br/> 2015 년 목표는 2012 년에 약속을하고 2011 년에 계획된 2014 년에해야 할 2014 년 목표를 달성하는 것입니다!");
더보기 : NodeMailer
3. Nodejs 시간이 정한 작업
이것은 여러 가지 방법으로 사용되며 Linux Crontab 구문에 익숙하다면 훨씬 간단합니다. 내 zou의 예는 매우 조화 롭습니다. 하하 :
코드 사본은 다음과 같습니다.
var schedule = require ( 'node-schedule');
/*방법 1 :
작업을 수행 할 특정 시간을 지정하십시오
*/
var schedule = require ( 'node-schedule');
var date = 새 날짜 (2014, 12, 31, 16, 1, 0);
var j = schedule.schedulejob (날짜, function () {
Console.log ( '2015는 곧 올 것이다.');
});
/*방법 2 :
시간당 몇 분
*/
var Rule = New Schedule.RecurrenCerule ();
rule.minute = 1;
var j = schedule.schedulejob (규칙, function () {
Console.log ( 'I/'M은 지금 매우 행복합니다! ');
});
/*방법 3 :
Crontab과 유사합니다
*/
var j = schedule.schedulejob ( '1 * * * *', function () {
Console.log ( 'It/'의 애프터눈 티! ');
});
작업 결과가 더 조화 롭습니다. 하하 :
그리니치 시간이기 때문에 첫 번째로 계획된 작업이 실행되지 않았으며 실행하는 데 8 시간이 걸리는 이유는 궁금합니다. 하하 ~~
자세한 내용 : 노드 스케디션
하루 동안 슬픈 음악을들은 후, 나는 더 많이들을수록 행복 해졌다. 하하