vue打包后 history模式 跟子目录 静态文件路径 分析

history

根目录

路由mode变为history后,需要在服务器配置 url重写,在根目录 创建web.config文件 加下面内容复制进去


  

    
      
        
          
          
                        
                        
          
          
        
      
    
  

background: url('/static/logo.png') no-repeat center/ 50%;    跟路径 / 和 相对路径
    跟路径 /  和 相对路径
跟路径 / 和 ../
      跟路径 / 和../
data () {
  return {
    image: '../static/logo.png'
  }
}

子目录

例如我在根目录下创建子目录名为app的文件夹作为项目文件夹
路由mode变为history后,需要在服务器配置 url重写,在根目录 创建web.config文件 加下面内容复制进去 与根目录不同的是 action 标签 url /app/index.html


  

    
      
        
          
          
                        
                        
          
          
        
      
    
  

config index.js文件下 build对象中publicPatch 从默认的 / 改成 自己部署的 子目录名称 /app/

build: {
  // Paths
  assetsRoot: path.resolve(__dirname, '../dist'),
  assetsSubDirectory: 'static',
  assetsPublicPath: '/app/',
}

router.js 需要改下 base 根据不同的打包环境 dev 默认就是 / pro需要根据项目路径

var base = process.env.NODE_ENV === 'development' ? '/' : '/app/'

export default new Router({
  mode: 'history',
  base: base,
  routes: []
})
background: url('../../static/logo.png') no-repeat center/ 50%;    相对路径
    相对路径
../
    ../
data () {
  return {
    image: '../static/logo.png'
  }
}

总结:
history模式,本地运行 肯定是在根目录 127.0.0.1:xxxx/# 使用上面根目录方法
打包发到生产环境,视情况使用

根目录和子目录 有些相同的引入方法

建议 直接使用相同的方法 同时适应根目录和子目录 部署


background: url('../../static/logo.png') no-repeat center/ 50%;    相对路径
    相对路径
../
    ../
data () {
  return {
    image: '../static/logo.png'
  }
}

你可能感兴趣的:(vue打包后 history模式 跟子目录 静态文件路径 分析)