欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue 打包发布去#和页面空白问题

程序员文章站 2022-03-04 13:29:03
...

1.vue项目中config文件下index.js中打包配置

build: {
  // Template for index.html
  index: path.resolve(__dirname, '../yiTownWebApp/index.html'),

  // Paths
  assetsRoot: path.resolve(__dirname, '../yiTownWebApp'),
  assetsSubDirectory: 'static',
  assetsPublicPath: '/yiTownWebApp/',//这个地方使用绝对路径很重要

  /**
   * Source Maps
   */

  productionSourceMap: true,
  // https://webpack.js.org/configuration/devtool/#production
  devtool: '#source-map',

  // Gzip off by default as many popular static hosts such as
  // Surge or Netlify already gzip all static assets for you.
  // Before setting to `true`, make sure to:
  // npm install --save-dev compression-webpack-plugin
  productionGzip: false,
  productionGzipExtensions: ['js', 'css'],

  // Run the build command with an extra argument to
  // View the bundle analyzer report after build finishes:
  // `npm run build --report`
  // Set to `true` or `false` to always turn it on or off
  bundleAnalyzerReport: process.env.npm_config_report
}

2.路由配置:router文件夹下index.js

export default new Router({
  mode: 'history',//去掉#,
  base: '/yiTownWebApp/',//这个配置也很重要,否则会出现页面空白情况
  scrollBehavior: () => ({ y: 0 }),
  routes: [
    {
      path: '/article',
      name: 'article',
      component: article
    },
    {
      path: '/footMark',
      name: 'FootMark',
      component: FootMark
    },
    {
      path: '/shareFootMark',
      name: 'ShareFootMark',
      component: ShareFootMark
    }
  ]
})

nginx配置:

 server {
        listen 8080;
        server_name localhost;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #打包后的项目目录,一定记住这个地方带有项目名称
        root /Users/a123/Desktop/vue/sgAdmin/yiTownWebApp;
        index index.html;

        location /yiTownWebApp{
                #这个地方没有项目名称,因为请求的时候如果请求:http://localhost:8080/yiTownWebApp,nginx会查找/Users/a123/Desktop/vue/sgAdmin/yiTownWebApp/目录下的数据
                root /Users/a123/Desktop/vue/sgAdmin;
                try_files $uri $uri/ @router;
                index index.html;
        }
        //try_files $uri $uri/ @router;和下边部分很重要,没有这部分发布二级一下的路由会出现js加载,但是也没空白的情况
        location @router {
                rewrite ^.*$ /index.html last;
        }
    }