Vue.js URL에서 해시를 제거하고 URL을 직접 지정하여 표시(History 모드)
5293 단어 Node.jsExpress.jsvuerouterVue.js
개시하다
vue.기본적으로 js의 항목은 URL에 산열 (예: http://localhost/#/abc 을 추가하고 서버에 직접 지정한 URL (예: http://localhost/abc 을 공개합니다.
catch-all이 후진하지 않은 상태에서 서버에 공개하면 404가 되는 것도 회피 전략이다.
배경.
vue router의 공식 페이지Native Node.js에 조작법이 적혀 있는데 이렇게 하면 움직이지 않습니다Node.js (Express). 그런데 방법에 대한 설명이 너무 간단해서 바로 만들어져서 이 기사에 남기고 싶어요.
→ vue.github누르는 중로 이동
방법
vue.자체 프로젝트 작성
npm라면
terminal$ npm run build
뭐 그런 거.폴더 vue를 만듭니다.나는 js 프로젝트가 전개될 것이라고 생각한다.
node.프로젝트 만들기
적당한 폴더를 만들고 거기서 npm 프로젝트를 만듭니다.
terminal$ mkdir express_project
$ npm init
많은 질문을 받았으니 적당히 대답하겠습니다.
그리고 나서
방금 구축된 vue.이 express js의 dist
폴더프로젝트에 복사합니다.
Express 설치 등
웹 서버용 Express, catch-all Fortback (index.) 을 설치하는 connect-history-api-fallback
terminal$ npm i express connect-history-api-fallback -s
node.js 코드 쓰기
catch-all Foll back과 동시에 3000포트 Listen dist 폴더에 필요한 코드를 최소한으로 작성합니다.
terminal$ vim express_project/app.js
app.jsconst express = require('express')
const history = require('connect-history-api-fallback')
const app = express()
const server = app
.use(history())
.use(express.static('dist'))
.listen(3000, () => {
console.log('Node.js is listening to PORT:' + server.address().port)
})
이때express프로젝트 폴더 안에 다음과 같은 느낌이 있다고 생각합니다.express_project
├── dist
│ ├── index.html
│ └── static
├── app.js
├── node_modules
├── package-lock.json
└── package.json
실행
terminal$ node app.js
이렇게 되면
http://localhost:3000/abc
의도가 드러날 것 같아서요.
참고 자료
vue router의 공식 페이지Native Node.js에 조작법이 적혀 있는데 이렇게 하면 움직이지 않습니다Node.js (Express). 그런데 방법에 대한 설명이 너무 간단해서 바로 만들어져서 이 기사에 남기고 싶어요.
→ vue.github누르는 중로 이동
방법
vue.자체 프로젝트 작성
npm라면
terminal$ npm run build
뭐 그런 거.폴더 vue를 만듭니다.나는 js 프로젝트가 전개될 것이라고 생각한다.
node.프로젝트 만들기
적당한 폴더를 만들고 거기서 npm 프로젝트를 만듭니다.
terminal$ mkdir express_project
$ npm init
많은 질문을 받았으니 적당히 대답하겠습니다.
그리고 나서
방금 구축된 vue.이 express js의 dist
폴더프로젝트에 복사합니다.
Express 설치 등
웹 서버용 Express, catch-all Fortback (index.) 을 설치하는 connect-history-api-fallback
terminal$ npm i express connect-history-api-fallback -s
node.js 코드 쓰기
catch-all Foll back과 동시에 3000포트 Listen dist 폴더에 필요한 코드를 최소한으로 작성합니다.
terminal$ vim express_project/app.js
app.jsconst express = require('express')
const history = require('connect-history-api-fallback')
const app = express()
const server = app
.use(history())
.use(express.static('dist'))
.listen(3000, () => {
console.log('Node.js is listening to PORT:' + server.address().port)
})
이때express프로젝트 폴더 안에 다음과 같은 느낌이 있다고 생각합니다.express_project
├── dist
│ ├── index.html
│ └── static
├── app.js
├── node_modules
├── package-lock.json
└── package.json
실행
terminal$ node app.js
이렇게 되면
http://localhost:3000/abc
의도가 드러날 것 같아서요.
참고 자료
$ npm run build
$ mkdir express_project
$ npm init
$ npm i express connect-history-api-fallback -s
$ vim express_project/app.js
const express = require('express')
const history = require('connect-history-api-fallback')
const app = express()
const server = app
.use(history())
.use(express.static('dist'))
.listen(3000, () => {
console.log('Node.js is listening to PORT:' + server.address().port)
})
express_project
├── dist
│ ├── index.html
│ └── static
├── app.js
├── node_modules
├── package-lock.json
└── package.json
$ node app.js
https://qiita.com/uwettie/items/3766c7b3fb106e36f5df
Reference
이 문제에 관하여(Vue.js URL에서 해시를 제거하고 URL을 직접 지정하여 표시(History 모드)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hs7/items/dec29fcb4a5e1409472f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)