새로운 강의는 이제 https://memi.dev 에서 진행합니다.
memi가 Vue & Firebase로 직접 만든 새로운 사이트를 소개합니다.

바로가기


NEMVV 2 전역파일

최대 1 분 소요

이 강좌는 종료되었습니다.
새로운 강좌로 시작하세요~
모던웹(NEMV) 제작 강좌

전역적으로 쓰고 싶은 기능을 모아봤습니다.

구성은 취향차이일 뿐이니 다른 방법을 쓰셔도 됩니다.

소스는 https://github.com/fkkmemi/nemvv.git에서 확인 할 수 있습니다.

주요 역활

  • 전역변수: v 에 모두 담았습니다.

  • 전역함수: f 에 모두 담았습니다.

함수들

cfg.check

혹시나 cfg.js파일이 구버전이거나 잘못 작성되었을때 예외처리 용도

encrypt

  encrypt : (p) => {
    return crypto.createHmac('sha1', cfg.web.secret_key).update(p).digest('base64');
  },

cfg의 시크릿키를 이용해 암호화 합니다.

mail


  const transporter = nodemailer.createTransport(cfg.mail);

  mail: (from, to, subject, html) => {
    const m = {
      from: from,
      to: to,
      subject: subject,
      html: html,
    };
    transporter.sendMail(m, function(err, info){
      if (err) return console.error(err);
      console.log('Email sent: ' + info.response);
    });
  },

nodemailer를 이용해 메일을 보내는 함수입니다.

yarn add nodemailer를 이용해 설치할 수 있습니다.

google smtp를 사용할 수도 있는데 구글에서 레거시 전송을 체크해야합니다.

사실 저도 어디서 설정하는지 모르는데 구글로 해보니 메일이 왔습니다. 위험요소가 감지되었다고.. 그 링크를 타고가면 레거시 전송을 활성화할 수 있습니다.

테스트

playGround.js에 코드를 넣어서 테스트해봅니다.

./playGround.js

const gb = require('./system/global');
exports.test = {
  model: () => {
    let s = '';
    s = gb.f.encrypt('1234');

    console.log(s);
    gb.f.mail('from@a.com', 'to@b.com', 'hi', '<h3>ok?</h3>');
  },
};

댓글남기기