以前線上的項目是nuxt build後的項目發佈在服務器上,pm2來管理node的進程,nuxt仍是運行在node的環境裏。vue
這個方案用了半年左右,訪問速度什麼的確實很快,pm2管理下的node在windows服務器上運行也很完美node
惟一不足的地方是,我的感受仍是很麻煩,仍是想拷貝文件就能解決問題的最好了,因此,用了generategit
具體使用教程請移步官方教程:https://zh.nuxtjs.org/api/configuration-generatevue-router
generate用完後其實遇到的問題仍是很多的,這裏僅僅只聊聊回退問題vuex
問題描述以下:windows
1.pages下我建立了兩個測試頁api
2.Index.vue頁代碼以下瀏覽器
<template> <div> <div>sdfsdf</div> <input type="text" v-model="input" /> <div class="" @click="click" _log="test">測試router</div> <div class="" @click="click2">測試href</div> </div> </template> <script> import { mapGetters } from 'vuex' export default { name: 'testpage', data() { return { value: '' } }, computed: { input: { get() { return this.$store.getters.input }, set(value) {this.$store.dispatch('setTestValue', value) } } }, methods: { click() { this.$router.push('/test/value') }, click2() { window.location.href = '/test/value' } }, mounted() { this.value = this.input let url = window.location.href } } </script>
Index有兩個按鈕,兩個按鈕分別以vue-router的push跳轉和location.href的方式跳轉,服務器
用這兩種跳轉的緣由是我覺得是vue-router的跳轉的問題,用了兩個進行對比一下,方便查找緣由測試
3.Value.vue代碼以下
<template> <div> <div>跳轉了</div> </div> </template> <script> export default { mounted() { // this._status = 200 } } </script>
4.這個回退問題在安卓機器和電腦上測試都沒什麼問題,在蘋果機器上safari瀏覽器就有問題了
跳轉成功後,回退時就403了,我看了一下回退後的地址,回到了根目錄
問題現象大體就是上面這樣,雖然能夠用其餘辦法規避回退,可是這個問題仍是會形成不小的麻煩
嘗試過了很多方法,暫時還想不通這裏面的緣由,因此就簡單粗暴的替換了history地址
window.history.replaceState('', document.title, window.location.href)
這個問題雖然解決了,不知道是否是nuxt的一個bug,可是官方例子我從git下載下來了後,並無發現這個問題。
若是你也碰到此類回退的問題,基本均可以用這個辦法獲得解決。