項(xiàng)目的前端分為移動端和pc端,然后打包后有兩個(gè)文件 dist1 和 dist2現(xiàn)在后端用的nodejs且移動端和pc端共用一套后端代碼原來只用pc端的時(shí)候,nodejs通過以下代碼指定靜態(tài)文件app.use(express.static(path.join(__dirname, '../dist')))現(xiàn)在想通過nodejs判斷是移動端orPC端,然后pc端指定dist1,移動端指定dist2。這個(gè)該如何實(shí)現(xiàn)?更新通過以下代碼可以判斷是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()
})但是帶來一個(gè)問題,就是第一次pc端訪問后,用移動端訪問還是pc端的前端資源。第一次移動端訪問,之后用pc端訪問的還是移動端的資源。是不是node的緩存問題?
1 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
項(xiàng)目的前端分為移動端和pc端,然后打包后有兩個(gè)文件 dist1 和 dist2
現(xiàn)在后端用的nodejs且移動端和pc端共用一套后端代碼
原來只用pc端的時(shí)候,nodejs通過以下代碼指定靜態(tài)文件
app.use(express.static(path.join(__dirname, '../dist')))
現(xiàn)在想通過nodejs判斷是移動端orPC端,然后pc端指定dist1,移動端指定dist2。這個(gè)該如何實(shí)現(xiàn)?
更新通過以下代碼可以判斷是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() })
但是帶來一個(gè)問題,就是第一次pc端訪問后,用移動端訪問還是pc端的前端資源。第一次移動端訪問,之后用pc端訪問的還是移動端的資源。是不是node的緩存問題?
- 1 回答
- 0 關(guān)注
- 852 瀏覽
添加回答
舉報(bào)
0/150
提交
取消