• vue 打包部署到服务器上 配置nginx访问


    坑一

    css,js资源引入不正确

    webpack配置文件config/index.js

    需要更改:

    方法一

    当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解决这种问题,就得引用相对路径

    问题描述

    一般情况下,通过webpack+vuecli默认打包的css、js等资源,路径都是绝对的。

     

    但当部署到带有文件夹的项目中,这种绝对路径就会出现问题,因为把配置的static文件夹当成了根路径,那么要解决这种问题,就得引用相对路径。

    解决办法

    打开webpack.prod.conf.js

    找到output增加 publicPath: './', 即可,如图。

     

     那么这样后,资源的引用路径就正确了。

    当然在config文件夹下的index.js中修改 assetsPublicPath: './'同样也可以达到资源的相对引用。

    坑二

    背景图片地址引入不正确

      上面虽然解决了资源路径的引用问题,但是资源里面的背景图片,不像index.html中加载资源一样,通过./static/js/app.js引用可以正常加载,图片资源是通过css加载的,如 background: url("../../assets/images/logo-index.png") no-repeat;被相对打包后变成了  url(static/img/logo-index.2f00bf2.png) no-repeat所以我们要保留css引用图片的正常路径,即:
    url(../../static/img/logo-index.2f00bf2.png) no-repeat

    那么就需要修改build文件夹下的utils.js代码,如图所示:

     添加如图所示的一行代码,这样不论是字体还是图片的引用问题都能解决。

    坑三

    vue路由刷新404

    Nginx 配置如下:

    server {
        listen       80;
        server_name  www.xxx.com;
    
        location / {
            root   /data/www/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html last;
        }
  • 相关阅读:
    JAVA软件开发职责
    Redis主从复制配置
    VirtualBox安装Ubuntu教程
    分段锁——ConcurrentHashMap
    阻塞队列BlockingQueue用法
    阻塞队列--LinkedBlockingQueue
    MySQL百万级数据库优化方案
    获取主机的对外ip
    联通沃云开启80端口
    Nginx 正则匹配
  • 原文地址:https://www.cnblogs.com/nongzihong/p/11913216.html
Copyright © 2020-2023  润新知