zoukankan      html  css  js  c++  java
  • Vue部署到相对目录和解决刷新404的问题

    部署到相对目录

    router.js的配置

    Vue.use(Router)
    // 获得相对路径的方法
    function getAbsolutePath () {
      let path = location.pathname
      return path.substring(0, path.lastIndexOf('/') + 1)
    }
    export default new Router({
      // 配置base路径
      base: getAbsolutePath(),
      mode: 'history',
      routes: [
        {
          path: '/',
          name: 'index',
          redirect: '/sample'
        },
        {
          path: '/hello',
          name: 'Hello',
          component: Hello
        }
      ],
      linkActiveClass: 'active'
    })
    

    config/config.js的配置

      build: {
        env: require('./prod.env'),
        index: path.resolve(__dirname, '../dist/index.html'),
        assetsRoot: path.resolve(__dirname, '../dist'),
        assetsSubDirectory: 'static',
        // 修改assetsPublicPath配置相对路径
        assetsPublicPath: '/',
        productionSourceMap: true,
        // 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
      },
    

    解决刷新404的问题

    使用apache2的配置

    开启rewrite模块
    sudo a2enmod rewrite
    修改sites-enable下的配置文件

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
            <Directory /var/www/html>
                    Order deny,allow
                    Allow from all
                    AllowOverride all
            </Directory>
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
    

    在网页根目录下添加.htaccess文件

    <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteBase /
     RewriteRule ^index.html$ - [L]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . /index.html [L]
    </IfModule>
    

    重启服务器后即可

    可参考:https://router.vuejs.org/zh/guide/essentials/history-mode.html

  • 相关阅读:
    Extension Methods (C# Programming Guide)
    ArraySegment
    git config
    0.0.0.0 IPAddress.Any 【】127.0.0.1 IPAddress.Loopback 【】localhost
    public static float CompareExchange(ref float location1,float value,float comparand)
    ConcurrentDictionary中的 TryRemove
    enum类型
    Array.Copy vs Buffer.BlockCopy
    伴随待字闺中的生命周期分析
    Twitter实时搜索系统EarlyBird
  • 原文地址:https://www.cnblogs.com/shubin/p/13064608.html
Copyright © 2011-2022 走看看