账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nodejs如何根据不同的设备加载不同的前端文件
    19
    0

    项目的前端分为移动端和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的缓存问题?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部