express.static과 함께 미들웨어를 어떻게 사용할 수 있습니까?

데이브 커

express.static을 통해 단일 페이지 앱을 제공하는 nodejs 애플리케이션이 있습니다. 이 모든 것이 잘 작동하지만 간단한 미들웨어를 만들 때 :

app.use(function(req, res, next){
  console.log('%s %s', req.method, req.url);
  next();
});

app.use(express.static(path.join(__dirname, 'client')));

클라이언트에서 콘텐츠를로드하려는 시도는 다음과 함께 실패합니다.

TypeError: Object function (req, res, next){
  console.log('%s %s', req.method, req.url);
  next();
} has no method 'concat'

express.static 호출 ​​후에 미들웨어를 사용하면 잘 작동하지만 정적 콘텐츠에 대해서는 호출되지 않습니다. 플래시 메시지 (연결 플래시에서)가 쿠키로 정적 콘텐츠에 전송 될 수 있도록 미들웨어를 설정해야합니다.

정적 콘텐츠를 포함한 모든 콘텐츠에 미들웨어를 어떻게 사용할 수 있는지 아는 사람이 있습니까? 결국 나는 두 개의 폴더, 하나는 공개 및 하나는 비공개 (여권을 통해 인증 됨)를 제공 할 것입니다.

브라이언 베켓

귀하의 질문에 대한 최소한의 구현을 모았으며 저에게 효과적입니다.

var express = require('express')
var path = require('path')

var app = express()

app.use(function(req, res, next) {
    console.log('Middleware says %s %s', req.method, req.url);
  next();
})

app.use(express.static(path.join(__dirname, 'client')))

app.listen(8080, function() {
    console.log('server is ready')
})

그런 다음 서버를 시작했습니다.

$ node so.js
server is ready

http://localhost:8080/foo.txt내 브라우저에 로드

Middleware says GET /foo.txt

저는 Express 3.6.0을 사용하고 있습니다. 이전 버전의 Express를 사용하고 있다면이 버그와 유사한 버그를 발견했을 입니다. 업데이트로 문제가 해결되지 않으면 더 많은 코드, 아마도 실행 가능하지만 최소한의 문제 예제를 포함하도록 질문을 업데이트하는 것이 좋습니다. 도움이 되었기를 바랍니다!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

x : String과 함께 x : Static을 어떻게 사용할 수 있습니까?

분류에서Dev

`paste0`과 함께`I ()`를 어떻게 사용할 수 있습니까?

분류에서Dev

그놈과 함께 Awesome WM을 어떻게 사용할 수 있습니까?

분류에서Dev

ForEach 목록과 함께 RandomAccessCollection을 어떻게 사용할 수 있습니까?

분류에서Dev

std :: function과 함께 다형성을 어떻게 사용할 수 있습니까?

분류에서Dev

Netty에서 NioDatagramChannel과 함께 EventExecutorGroup을 어떻게 사용할 수 있습니까?

분류에서Dev

apache camel과 함께 elasticsearch 2.2.1을 어떻게 사용할 수 있습니까?

분류에서Dev

knex의 where 절과 함께 hasColumn을 어떻게 사용할 수 있습니까?

분류에서Dev

Gon gem과 함께 Jbuilder 내에서 Rails 도우미를 어떻게 사용할 수 있습니까?

분류에서Dev

URL 매개 변수 및 오류 메시지와 함께 인증 미들웨어의 redirectTo 메소드를 어떻게 사용할 수 있습니까?

분류에서Dev

조건부 미들웨어 내에서 Node.js Express 세션을 어떻게 사용할 수 있습니까?

분류에서Dev

Ext JS Classic 툴킷과 함께 Froala HTML 편집기를 어떻게 사용할 수 있습니까?

분류에서Dev

`add --patch` 등과 함께 내 자신의 diff 도구를 어떻게 사용할 수 있습니까?

분류에서Dev

redux-toolkit과 함께 notistick / (모든 스낵바)를 어떻게 사용하고 반응 할 수 있습니까?

분류에서Dev

일반 레코드 및 테이블 유형과 함께 'InsertQuery'를 어떻게 사용할 수 있습니까?

분류에서Dev

조인과 함께 EF Where () 절에서 식 트리를 어떻게 사용할 수 있습니까?

분류에서Dev

얀과 함께 최신 버전의 노드를 어떻게 사용할 수 있습니까?

분류에서Dev

OWIN 인증 미들웨어를 WebAPI MessageHandler 스택과 어떻게 통합 할 수 있습니까?

분류에서Dev

Express 4.0에서 express.static ()을 사용할 때 어떻게 상위 폴더를 가리킬 수 있습니까?

분류에서Dev

nodejs에서 babel과 함께 이것을 어떻게 사용할 수 있습니까?

분류에서Dev

Neo4j에서`call.apoc.do.when`과 함께`with` 문을 어떻게 사용할 수 있습니까?

분류에서Dev

목록 대신 ObservableCollection과 함께 Xamarin DataTemplate을 어떻게 사용할 수 있습니까?

분류에서Dev

TrueCrypt 암호화 된 백업 대상과 함께 Windows 백업을 어떻게 사용할 수 있습니까?

분류에서Dev

ipv6 기반 루프백에 :: 1과 함께 curl을 어떻게 사용할 수 있습니까?

분류에서Dev

Mountain Lion에서 Homebrew MacVim과 함께 Homebrew Python을 어떻게 사용할 수 있습니까?

분류에서Dev

Linq2Sql과 함께 gridpanel에서 ext : CheckColumn을 어떻게 사용할 수 있습니까?

분류에서Dev

Gradle 2.2.1에서 Java 1.8과 함께 Findbugs 3.0.1을 어떻게 사용할 수 있습니까? : java.lang.ArrayIndexOutOfBoundsException :

분류에서Dev

파일 이름 및 옵션과 함께 git log 명령을 어떻게 사용할 수 있습니까?

분류에서Dev

아도니스와 함께 nginx를 어떻게 사용할 수 있습니까?

Related 관련 기사

  1. 1

    x : String과 함께 x : Static을 어떻게 사용할 수 있습니까?

  2. 2

    `paste0`과 함께`I ()`를 어떻게 사용할 수 있습니까?

  3. 3

    그놈과 함께 Awesome WM을 어떻게 사용할 수 있습니까?

  4. 4

    ForEach 목록과 함께 RandomAccessCollection을 어떻게 사용할 수 있습니까?

  5. 5

    std :: function과 함께 다형성을 어떻게 사용할 수 있습니까?

  6. 6

    Netty에서 NioDatagramChannel과 함께 EventExecutorGroup을 어떻게 사용할 수 있습니까?

  7. 7

    apache camel과 함께 elasticsearch 2.2.1을 어떻게 사용할 수 있습니까?

  8. 8

    knex의 where 절과 함께 hasColumn을 어떻게 사용할 수 있습니까?

  9. 9

    Gon gem과 함께 Jbuilder 내에서 Rails 도우미를 어떻게 사용할 수 있습니까?

  10. 10

    URL 매개 변수 및 오류 메시지와 함께 인증 미들웨어의 redirectTo 메소드를 어떻게 사용할 수 있습니까?

  11. 11

    조건부 미들웨어 내에서 Node.js Express 세션을 어떻게 사용할 수 있습니까?

  12. 12

    Ext JS Classic 툴킷과 함께 Froala HTML 편집기를 어떻게 사용할 수 있습니까?

  13. 13

    `add --patch` 등과 함께 내 자신의 diff 도구를 어떻게 사용할 수 있습니까?

  14. 14

    redux-toolkit과 함께 notistick / (모든 스낵바)를 어떻게 사용하고 반응 할 수 있습니까?

  15. 15

    일반 레코드 및 테이블 유형과 함께 'InsertQuery'를 어떻게 사용할 수 있습니까?

  16. 16

    조인과 함께 EF Where () 절에서 식 트리를 어떻게 사용할 수 있습니까?

  17. 17

    얀과 함께 최신 버전의 노드를 어떻게 사용할 수 있습니까?

  18. 18

    OWIN 인증 미들웨어를 WebAPI MessageHandler 스택과 어떻게 통합 할 수 있습니까?

  19. 19

    Express 4.0에서 express.static ()을 사용할 때 어떻게 상위 폴더를 가리킬 수 있습니까?

  20. 20

    nodejs에서 babel과 함께 이것을 어떻게 사용할 수 있습니까?

  21. 21

    Neo4j에서`call.apoc.do.when`과 함께`with` 문을 어떻게 사용할 수 있습니까?

  22. 22

    목록 대신 ObservableCollection과 함께 Xamarin DataTemplate을 어떻게 사용할 수 있습니까?

  23. 23

    TrueCrypt 암호화 된 백업 대상과 함께 Windows 백업을 어떻게 사용할 수 있습니까?

  24. 24

    ipv6 기반 루프백에 :: 1과 함께 curl을 어떻게 사용할 수 있습니까?

  25. 25

    Mountain Lion에서 Homebrew MacVim과 함께 Homebrew Python을 어떻게 사용할 수 있습니까?

  26. 26

    Linq2Sql과 함께 gridpanel에서 ext : CheckColumn을 어떻게 사용할 수 있습니까?

  27. 27

    Gradle 2.2.1에서 Java 1.8과 함께 Findbugs 3.0.1을 어떻게 사용할 수 있습니까? : java.lang.ArrayIndexOutOfBoundsException :

  28. 28

    파일 이름 및 옵션과 함께 git log 명령을 어떻게 사용할 수 있습니까?

  29. 29

    아도니스와 함께 nginx를 어떻게 사용할 수 있습니까?

뜨겁다태그

보관