express Router 객체

3832 단어 express 원본 분석
익스프레스를 어떻게 사용하는지 여기서 나는 군말하지 않겠다. 너는 문서를 보러 갈 수 있고 중국어가 있다. 그러나 나는 네가 직접 영어를 보고 중국어의 번역 질과 오래된 버전의 문서에 구애받지 않도록 하는 것을 건의한다.
나는 단지 너에게 어떻게 원본 코드를 조회하고 분석하며 모든 방법의 입구를 찾고 모든 대상이 어디에서 오는지 알려주고 싶다.
먼저 Express에서 Router 사용법을 살펴보겠습니다.
var express = require('express');
var router = express.Router();

router.get('/detail/:id', detail.detail)
router.get('/', index.home);

express의 몇 권의 디렉터리 구조를 살펴보겠습니다.
test/
example/
lib/
    --- middleware/
    --- router/
    --- express.js
    --- request.js
    --- response.js
    --- application.js
    --- utils.js
    --- view.js
index.js
package.json

하나의 가방에서 모듈을 직접 가져옵니다. 예를 들어 express = require("express").도대체 어떤 파일인지 지정하지 않고 가방 이름으로 가져오면 해석기가 패키지가 있는지 먼저 검색합니다.json 파일, 설정에 대한 설정이 없습니다. index.js 이 파일을 검색하십시오.
이 파일을 열면 우리는 두 줄의 코드만 있는 것을 발견했다.
'use strict';
module.exports = require('./lib/express');

파이톤의 동창을 만나면 분명히 아는 사이일 거야. 이 index.js 파일의 역할은 __init__.py랑 많이 다르지 않아!내가 너에게 말하지만, 차이는 여전히 있다.파이썬의 패키지는 폴더가 파이썬 패키지라는 것을 설명하기 위해 __init__.py가 있어야 합니다.그러나 Nodejs는 모든 가방에 index.js 파일이 있어야 한다고 강요하지 않습니다. 단지 require("modulename")로 가방을 직접 가져올 때 해석기가 이 파일을 검색합니다.
우리는 또 목표를 lib 디렉터리에 있는 express.js 파일로 바꿨다. .js 접두사 이름 없이 해석기가 자동으로 검색할 수 있다.
여기에는 module.exports라는 특수한 모듈 조직 방식을 말하지 않을 수 없다.
전역 함수require가 패키지를 가져올 때 다른 언어처럼 패키지의 물건을 전역적으로 가져오지 않고 module.exports만 가져옵니다. 기본적으로 빈 대상{}입니다.우리는 이런 형식으로 쓴 가방exports = module.exports = createApplication;을 자주 볼 수 있다. exports은 사실 module.exports에 대한 인용이기 때문에 module.exports를 바꾸면 exports의 인용도 그것을 가리키지 않으면 exports 원래의 대상을 가리킨다.
다음 예를 참조하십시오.
module.js

exports.a = function a() {};
exports.b = function b() {};
exports.c = function c() {};
main.js

var m = reuqire('module.js');
console.log(m.a, m.b, m.c)

결과:
[Function: a] [Function: b] [Function: c]

이제 module.exports가 무슨 역할을 하는지 알겠지. 그리고 이런 모듈 도입 방식을 좋아하게 될 거야. Nodejs는 module.exports라는 대상만 가져와서 작용역의 오염을 피할 수 있어.파이톤처럼 직관적이지 않고 오염된 작용역을 사용할 수 있는 방식이 아니다.
자, 우리 from module import * 파일을 봅시다. express.js이것exports = module.exports = createApplication;은 함수입니다. 반환값은...

좋은 웹페이지 즐겨찾기