【问题标题】:Nuxt Device Detection with Generate使用 Generate 进行 Nuxt 设备检测
【发布时间】:2020-06-28 17:12:20
【问题描述】:

我安装了 nuxtjs/device 并在 localhost 中运行良好,我通过 ctx.isMobile 得到了我想要的。但是我在部署我的应用程序时使用了 nuxt generate。它不起作用。那么这个模块的工作必须有一个服务器吗?或者有没有办法在静态生成模式下检测设备?

我像这样在我的模块上添加了这个

modules: [
   '@nuxtjs/device',
 ]

我在这样的组件中使用它

this.$device.isMobile

像这样

ctx.isMobile

【问题讨论】:

    标签: nuxt.js device-detection


    【解决方案1】:

    看看这部分@nuxtjs/device 的文档

    https://github.com/nuxt-community/device-module#options

    defaultUserAgent 选项可用于npm run generate

    {
      modules: [
        [
          '@nuxtjs/device',
          {defaultUserAgent: 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.39 Mobile Safari/537.36'}
        ]
      ]
    }
    

    它说使用defaultUserAgent 选项使其与nuxt 生成模式一起工作。

    【讨论】:

    • 感谢您的回答。它可以用来设置defaultuseragent,这意味着任何设备进入网站都将被视为defaultuseragent中提供的任何值。在我看来这并不是很有用。
    • 对于静态模式,在应用初始化之前检测用户设备并不容易。
    • 在得出结论这不适用于静态模式之前,您是否尝试过这样做?可能是 nuxt/device 模块的实现方式,它需要我们设置 defaultUserAgent 才能让它在静态模式下工作。只需检查一下,然后告诉我。
    猜你喜欢
    • 1970-01-01
    • 2018-02-20
    • 2013-04-24
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2020-12-02
    相关资源
    最近更新 更多