vue项目部署上线的基本过程

一,部署上线
1,vue-router有两种模式,即散模式和历史模式。
散模式:它使用URL的哈希来模拟一个完整的URL,这样的页面不会被重新加载的URL发生变化时。
历史模式:它利用history.pushStateAPI实现URL导航而无需重新加载页面。
散模式放到线上环境刷新页面后不会出现404或者页面一片空白的现象,但就是在url地址中会出现一个#字符在里面。历史模式则相反,至于别的暂时还不知道。
这里我用的是历史模式。

1,在vue-router实例中加上 mode: 'history',base: '/xx/xxx'

 export default new Router({
  mode: 'history',
  base: '/dist',//这里添加根目录下的路径,如何直接是根目录的话就是'/'
  routes: [....]
})

2,修改项目文件中的config>index.js
dev:{
 host:'0.0.0.0',		// 将 host:'localhost' 改成 host:'0.0.0.0',
 port: 8080
}

build:{
assetsPublicPath: './'		//将assetsPublicPath: '/'  改成  assetsPublicPath: './'
}

2,打包项目

npm run build

接下来就可以直接放到线上。还得提醒一下看看服务器有没有开启vue项目需要的端口,阿里云服务器默认是不开启的。

二,在nginx环境下vue项目出现404问题的解决方法以及页面空白问题解决方法

1,刷新页面出现404问题
https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations 有讲到如何配置。
nginx正确的配置如下:

注意:配置中也有两种不同情况,即直接把index.html放在根目录中和指定文件中。

第一种情况:放在根目录中的配置
location / {
    root    html;
    index   index.html index.htm;
     try_files $uri $uri /index.html;
}

第二种请况:放在指定的文件中
location /dist {
     root   html;
     index  index.html;
     try_files $uri $uri /dist/index.html;
 }

2,页面刷新出来一片空白,应该是vue-router实例中没有加上自己的项目目录。
其实就是上面部署上线中的步骤,在vue-router实例中加上base: ‘/xx/xxx’。如果加了应该就不会页面一片空白了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值