vue如何实现web端与h5端整合在一起

前言:由于已经提前写好web端的系统,h5端与web端展示的内容不一样,所以需要在一套系统里写两版代码,这就需要我们使用webpack打包工具来实现。

步骤:

第一步:在src文件夹下面再新建一个h5main.js(自由命名),然后再终端输入 

vue inspect > output.js

 如果报错-----无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。就到该文件夹下面将vue.ps1文件删除掉。

第二步:在生成的output.js里面设置

entry:{
    web:'./src/main.js', //pc端的入口文件
    h5:'./src/h5main.js' //h5端的入口文件
 },

第三步:到config.js里面设置pages

 // pages 里面存放多页面的配置,为对象形式,key为多页面的入口名称
      pages: {
        web: {
            // 入口文件
            entry: './src/main.js',
            // 模板来源
            template: 'public/index.html',
            // 在 dist/index.html 的输出
            filename: 'index.html',
            title: 'PC',
            // 提取出来的通用 chunk 和 vendor chunk。
            chunks: ['chunk-vendors', 'chunk-common', 'web']
        },
        h5: {
            // 入口文件
            entry: './src/h5main.js',
            // 模板来源
            template: 'public/index.html',
            // 在 dist/index.html 的输出
            filename: 'h5.html',
            title: 'H5',
            // 提取出来的通用 chunk 和 vendor chunk。
            chunks: ['chunk-vendors', 'chunk-common', 'h5']
        }
    },

 

 第四步:在router文件夹里设置h5端的路由和web端的路由,切记在h5main.js和main.js引入对应的路由,我这里h5main.js引入的是h5端的路由

import router from './router/h5index'

然后找到public文件夹下的index.html设置

<script>
  ! function() {
    console.log("🚀 ~ file: index.html:29 ~ isMobileUserAgent:", isMobileUserAgent())
      if (isMobileUserAgent()) {   
          if (!/h5.html/.test(location.href)) { //移动端时,我们跳转到h5的html
              window.location.href = window.location.origin + '/h5.html'
          }
      }else{
          if (/h5.html/.test(location.href)) { //移动端时,我们跳转到h5的html
              window.location.href = window.location.origin
          }
      }

      function isMobileUserAgent() { // 判断是pc端还是h5端
          return /iphone|ipod|android|windows.*phone|blackberry.*mobile/i.test(
              window.navigator.userAgent.toLowerCase()
          );
      }
  }()
</script>

这样打包后项目会自动判断当前页面是pc端还是h5端进而展示对应的路由页面

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 是一种用于构建用户界面的 JavaScript 框架,它提供了一种基于组件的开发模式,可用于构建单页面应用程序。在 Vue.js实现 Web 的定位功能获取经纬度可以通过使用 HTML5 的 Geolocation API 来实现。 Geolocation API 是一种 HTML5 标准,允许 Web 应用程序使用 JavaScript 与浏览器通信并访问用户的地理位置信息。在 Vue.js 中,您可以使用 Geolocation API 获取用户的地理位置数据,并使用 Vue.js 的组件和生命周期方法来处理数据和更新 UI。以下是实现步骤: 首先,在您的 Vue.js 应用程序中,您需要创建一个组件来获取用户的位置。在这个组件中,您可以通过调用浏览器的 Geolocation API 来获取用户的位置信息。 ``` <template> <div> <button @click="getLocation">获取位置信息</button> <div v-if="lontitude && latitude"> 经度: {{longitude}} 纬度: {{latitude}} </div> </div> </template> <script> export default { data() { return { longitude: null, latitude: null } }, methods: { getLocation() { navigator.geolocation.getCurrentPosition(position => { this.longitude = position.coords.longitude this.latitude = position.coords.latitude }) } } } </script> ``` 这个组件包含一个按钮,当用户单击该按钮时将调用 getLocation 方法。该方法将调用 Geolocation API 中的 getCurrentPosition 方法,这将向用户请求权限以访问其位置信息。如果用户同意,浏览器将获取用户的位置信息,并将其保存在该组件的 data 对象中。 现在,我们已经获取到了用户的位置信息。您可以使用这些信息来更新 UI 并执行其他操作。例如,您可以使用这些信息来显示地图或定向用户的位置。 综上所述,Vue.js 使用 Geolocation API 可以轻松获取用户的当前位置信息,并可使用 Vue.js 的组件和生命周期方法进一步处理信息和更新 UI。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值