亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

nodejs如何根據不同的設備加載不同的前端文件

nodejs如何根據不同的設備加載不同的前端文件

BIG陽 2018-11-19 17:09:50
項目的前端分為移動端和pc端,然后打包后有兩個文件 dist1 和 dist2現在后端用的nodejs且移動端和pc端共用一套后端代碼原來只用pc端的時候,nodejs通過以下代碼指定靜態文件app.use(express.static(path.join(__dirname, '../dist')))現在想通過nodejs判斷是移動端orPC端,然后pc端指定dist1,移動端指定dist2。這個該如何實現?更新通過以下代碼可以判斷是pc還是移動端,app.all('*', (req, res, next) => {   const TYPE = req.headers['user-agent'].toLowerCase()  // console.log(TYPE)   const IS_MOBILE = TYPE.indexOf('android') > -1 || TYPE.indexOf('ios') > -1   if (IS_MOBILE) {     console.log('mobile')     app.use(express.static(path.join(__dirname, '../dist2')))   } else {     console.log('pc')     app.use(express.static(path.join(__dirname, '../dist')))   }   next() })但是帶來一個問題,就是第一次pc端訪問后,用移動端訪問還是pc端的前端資源。第一次移動端訪問,之后用pc端訪問的還是移動端的資源。是不是node的緩存問題?
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

項目的前端分為移動端和pc端,然后打包后有兩個文件 dist1 和 dist2
現在后端用的nodejs且移動端和pc端共用一套后端代碼
原來只用pc端的時候,nodejs通過以下代碼指定靜態文件

app.use(express.static(path.join(__dirname, '../dist')))

現在想通過nodejs判斷是移動端orPC端,然后pc端指定dist1,移動端指定dist2。這個該如何實現?

更新通過以下代碼可以判斷是pc還是移動端,

app.all('*', (req, res, next) => {
  const TYPE = req.headers['user-agent'].toLowerCase()  // console.log(TYPE)
  const IS_MOBILE = TYPE.indexOf('android') > -1 || TYPE.indexOf('ios') > -1
  if (IS_MOBILE) {
    console.log('mobile')
    app.use(express.static(path.join(__dirname, '../dist2')))
  } else {
    console.log('pc')
    app.use(express.static(path.join(__dirname, '../dist')))
  }
  next()
})

但是帶來一個問題,就是第一次pc端訪問后,用移動端訪問還是pc端的前端資源。第一次移動端訪問,之后用pc端訪問的還是移動端的資源。是不是node的緩存問題?


查看完整回答
反對 回復 2018-11-19
  • 1 回答
  • 0 關注
  • 856 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號