이 글은 먼저 Sails 설치로 시작한 다음 node.js와 Sails의 로깅 메커니즘을 소개합니다. 다음 내용을 빨리 읽어보세요.
Sails는 웹 애플리케이션을 쉽게 구축하는 데 도움이 되는 Node.js 미들웨어 아키텍처입니다. URL: http://www.sailsjs.org/ 주로 Express 프레임워크를 기반으로 개발되었습니다. 새로운 기능적 구성 요소를 기반으로 설치 방법을 살펴보겠습니다
1개 항해 설치
npm -g install 돛
2 Sails 프로젝트 생성
새로운 테스트 프로젝트 항해
3 프로젝트 시작
CD 테스트 프로젝트
돛 리프트
MVC 개념을 기반으로 한 4가지 프로젝트 구조
모델, 뷰, 컨트롤러로 구성되어 있음을 알 수 있습니다. 이들 간의 호출 관계는 .net mvc와 매우 유사합니다. 그러나 .net mvc의 모델은 주로 viewmodel을 참조하는 반면, Sais에서는 model은 주로 viewmodel을 의미합니다. 즉, .net의 Entity입니다. 데이터 테이블의 추상화입니다. Sais는 로컬 파일, mysql, mongodb 등 다양한 유형을 제공합니다. redis 등. sqlserver의 경우 타사 구성 요소도 찾을 수 있습니다.
5 컨트롤러 액션을 통해 뷰 렌더링
우리는 .net mvc에 있습니다. 액션의 렌더링 방법을 통해 뷰가 렌더링된다는 것은 누구나 알고 있습니다. 당시에는 기본 렌더링이나 캡슐화된 뷰 방법을 사용할 수 있습니다. view 작업에서 반환된 개체를 사용하세요.
컨트롤러/액션 콘텐츠
module.exports={ index: function (req, res){ return res.view("test/index",{title:"大叔",engTitle:"Lind"}); //return res.view("view_name",data)//view_name参数为空表示用当前的action } };
ejs 콘텐츠 보기
e388a4556c0f65e1904146cc1a846beeaction-title:347286aa4c95cae85b99ddcb854c9f7494b3e26ee717c64999d7867364b1b4a3
에서 반환된 개체
e388a4556c0f65e1904146cc1a846beeaction-engTitle:3a37ddac8900833f34740711f4f8f2ad94b3e26ee717c64999d7867364b1b4a3
통화 결과는 다음과 같습니다
인덱스 페이지에 들어가시면 컨트롤러 이름을 직접 쓰실 수 있습니다
다른 작업이 /test와 같은 경로를 사용하려면 config/route.js에서 구성해야 합니다. 예를 들어 추가 작업을 위해 /user에 경로를 추가하고 해당 설정은 다음과 같습니다.
'get /user': {view: 'user/add',locals: {layout: null}},
'get /test':{view:'test/index',locals:{layout:null}}
자, 가장 간단한 MVC DEMO가 준비되었습니다. 다음 섹션에서는 데이터 지속성 메커니즘인 모델을 참조하여 데이터 테이블에 대한 커드 작업을 수행할 예정이니 계속 지켜봐 주시기 바랍니다...
ps: Node.js 및 Sails~로깅 메커니즘
Sails의 로그를 보면 log4net이 생각나는데 사실 둘 다 계층적 기록 방식을 채택하고 있지만 굳이 사용할 필요는 없는 것 같습니다. 더 많은 작업을 수행하려면ails.log 수준("로그 내용")에서 직접 수행할 수 있습니다.Sails의 로그는 console.log를 보완하는 것일 뿐입니다. 클래스를 추가한 후 console.log로 나누어서 이해하면 색깔별로 구분이 되더라구요 ㅎㅎ
1 Sails.log의 로그 레벨을 살펴보겠습니다
우선순위 | 레벨 | 로그 fns 표시 |
---|---|---|
0 | 침묵 | 해당 없음 |
1 | 오류 | <font face="NSimsun">.error()</font> |
2 | 경고 |
<font face="NSimsun">.warn()</font> , <font face="NSimsun">.error()</font>
|
3 | 디버그 |
<font face="NSimsun">.debug()</font> , <font face="NSimsun">.warn()</font> , <font face="NSimsun">.error()</font>
|
4 | 정보 |
<font face="NSimsun">.info()</font> , <font face="NSimsun">.debug()</font> , <font face="NSimsun">.warn()</font> , <font face="NSimsun">.error()</font>
|
5 | 상세 |
<font face="NSimsun">.verbose()</font> , <font face="NSimsun">.info()</font> , <font face="NSimsun">.debug()</font> , <font face="NSimsun">.warn()</font> , <font face="NSimsun">.error()</font>
|
6 | 바보 |
<font face="NSimsun">.silly()</font> ,<font face="NSimsun">.verbose()</font> , <font face="NSimsun">.info()</font> , <font face="NSimsun">.debug()</font>
<font face="NSimsun">.warn()</font>
<font face="NSimsun">.error()</font>
| 2 로그 테스트 시작
Sails.log.warn('경고 로그!','요청이 중단되었습니다.'); 항해.log.info('정보 로그!'); Sails.log.verbose('자세한 로그!');
Sails.log.silly('어리석은 로그!');
3 config/log.js에 있는 프로젝트의 로그 수준을 구성합니다
module.exports.log = {
};
4 결과에서 알 수 있듯이 로깅 시 현재 구성 수준보다 낮은 로그 내용만 기록된다
세일즈 로그는 어떤가요?