vue history模式 部署在服務器端的nginx配置 (非根目錄)

vue history須要nginx或者其餘方式配置一下才可正確訪問,不然路由跳轉以後刷新一下便會404 具體緣由vue-router官網有說明,在此很少說css

最近遇到的問題是上了一個小的項目,須要放在更深層次的目錄下,上到測試環境 作了官網提到的nginx配置發現不行,以後查閱了一些博客資料,發現都沒有一個特別好的方案。最終,個人解決方案以下html

nginx配置以下vue

server {
        listen       443 ;
        server_name  m;
        
        root   html/mobile;
        location / {
            index  index.html index.htm;
            try_files $uri $uri/ /auth/index.html;
        }
    }

vue router 配置webpack

// 路由配置
const RouterConfig = {
  base: "/auth/",
  mode: 'history',
  routes: routers
};

該項目是用的vue-cli2 因此只須要修改config 裏面的index.js的build部分nginx

webpack 配置修改web

build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/auth/index.html'),
    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'auth/static',
    assetsPublicPath: '/',
    /**
     * Source Maps
     */
    productionSourceMap: false,
    devtool: '#source-map',
    productionGzip: false,
    productionGzipExtensions: ['js', 'css'],
    bundleAnalyzerReport: process.env.npm_config_report
  }

最終項目地址爲 m.xxx.com/auth/vue-router

相關文章
相關標籤/搜索