При посещении страницы vue /# делает URL-адрес неприглядным.Использование режима истории H5 может отлично решить эту проблему, но для этого требуется помощь бэкэнда nginx. Дальше настраиваем сами.
Используйте интерфейсную маршрутизацию, но когда вы переключаетесь на новый маршрут, вы хотите прокрутить страницу вверх или сохранить исходное положение прокрутки, как и при перезагрузке страницы, vue-router позволяет настроить способ прокрутки при маршрут переключает страницы.
При создании экземпляра Router вы можете указать метод scrollBehavior:
const router = new VueRouter({
routes: [...],
mode: 'history', //H5 history模式
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
return { x: 0, y: 0 } //让页面滚动到顶部
}
})
Дополнительные примеры поведения при прокрутке см. на официальном сайте.Router.V UE JS.ORG/THIS/EXPIVESION/AD...
После упаковки это вызовет проблему.Обновите страницу файла упаковки, и страница 404 будет пустой.Далее вам нужно настроить файл nginx для доступа к упакованному файлу.
Стартовой страницей отдельной страницы vue является файл index.html, а маршрут на самом деле не существует, поэтому возникнет проблема с обновлением страницы 404, и вам нужно настроить страницу доступа vue для сопоставления с index.html.
Прежде всего, нам нужно определить путь к статическим ресурсам пакета, нам нужно установить абсолютный путь.
config/index.js
build: {
assetsPublicPath: '/'
}
Затем настройте проблему сопоставления nginx
location / {
root /www/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html; //映射到index.html上
}
Цзян Цзы может посетить.
Некоторые студенты могут столкнуться с проблемой, которую nginx настраивает терминал ПК и мобильный терминал для автоматического прыжка. Далее настроите его.
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.baidu.com; //服务器网址
set $mobile_rewrite do_not_perform; //设置pc重定向
if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os )?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {
set $mobile_rewrite perform;
} //设置移动端重定向
location / {
root /www/dist/m; //移动端root
if ($mobile_rewrite = do_not_perform) { //根据重定向 重置 root
root /www/dist; //pc端root
}
index index.html index.htm;
try_files $uri $uri/ /index.html; //映射到index.html上
}
location ~ ^/api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/dev/official/official.sock;
proxy_max_temp_file_size 2m;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
client_max_body_size 5m;
}
error_page 404 http://www.baidu.com;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Jiang Zi может одновременно использовать один и тот же URL для доступа к мобильному терминалу и на боковом проекте PC Friends PC.
Некоторые места могут быть выражены недостаточно ясно, а если вы не поняли, вы можете оставить сообщение, я обязательно отвечу вовремя, когда увижу.