우선 내 파일 구조는 다음과 같습니다.
web
-public
--login.html (로그인 페이지는 정적 페이지입니다)
-veiws
--index.jade
-routes
--index.js
-app .js
프런트 엔드 코드
$.ajax의 URL에는 무엇을 적어야 하나요?
그리고 내 서버 코드는 라우터 폴더에 app.js나 index.js로 작성되어 있나요? 아니면 새 js 파일을 만들고 서버 코드를 작성한 다음 URL에 js 파일의 상대 디렉터리를 작성합니다(PHP의 경우인 것 같습니다).
index.js에는 router.get('/', function(req, res, next){})도 있고
app.js에는 var router = require('./routes/index');app도 있습니다. .use('/',router) 와 바인딩 도메인 이름의 차이점은 무엇입니까? 내 이해는 서버가 시작된 후 app.js가 자동으로 실행되고 app.use가 함수를 스택에 푸시하고 순차적으로 실행하는 것과 동일하다는 것입니다. 그런 다음 index.js가 실행될 때 index.js가 jade 템플릿을 렌더링합니다. URL 주소에 따른 뷰, 모든 새로고침 및 재렌더링(새로 고침 없이 app.js가 재실행되는지, 아니면 index.js가 재실행되는지는 확실하지 않습니다).
segmentFault 콘솔에 다음 코드를 입력해 보세요
으아아아그러면 당신은 얻게 될 것입니다 / 이 HTML 파일의 내용을.
귀하의 질문
포트 3000에서 수신 대기 중이고 /login 경로를 정의했다고 가정해 보세요
그러면 URL은 /login
이어야 합니다.app.use 뒤에 있는 콘텐츠를 미들웨어라고 합니다
예를 들어 http://localhost:3000/api/login을 방문합니다.
/api/login과 일치할 수 있는 미들웨어가 있는 경우 Express는 처리를 위해 요청을 이 미들웨어에 넘겨줍니다
URL은 상대 또는 절대일 수 있습니다.
http(s)://
부터 모든 도메인 이름에 URL을 지정할 수 있지만 도메인 간 액세스 문제에 주의하세요. Relative는 현재 페이지에 상대적인 URL입니다./<path>
/
로 시작하는 상대 경로../<path>
../
을 함께 사용하여 상위 레이어를 나타낼 수 있습니다../
./
folder/
는folder
로 축약될 수 있고가 완전히 다른 위치(오늘날 라우팅이 널리 사용되는 경우 디렉터리나 페이지는 더 이상 확장명으로 구분되지 않음) 일반적으로 프런트 엔드에서는 최소한 루트에 상대적인 경로를 작성하는 것이 좋습니다.
folder/
有可简写成folder
,而有没有/
현재 포트를 나타내기 위해 '/'를 쓰고, nodejs에서는 url이 경로입니다