Uniapp配置meta不生效怎么解决

 4642

Uniapp 是一种基于 Vue.js 的跨平台应用开发框架,其开发简单、易上手,可以快速构建出 iOS、Android 和 H5 页面,成为现在移动应用开发的重要工具之一。然而,跨平台应用的开发也带来了一些问题,比如本文即是解决 uniapp 页面配置 meta 不生效的问题,希望对读者有所帮助。

问题描述

近期有开发者反馈在使用 uniapp 构建的 H5 页面中,配置 meta 标签没有生效,即在浏览器中查看网站源代码,找不到相应的 meta 标签。但在开发工具的预览中和手机端查看页面均能够正常显示。

问题解决

1、确认 meta 内容是否正确

首先需要确保 meta 标签的内容是否正确,在 uniapp 的 page.json 中配置:

  1. "meta": {
  2.   "viewport": "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no",
  3.   "keywords": "uniapp, meta, 问题, 解决",
  4.   "description": "uniapp 配置 meta 不生效的解决方法",
  5.   "apple-mobile-web-app-capable": "yes",
  6.   "apple-mobile-web-app-status-bar-style": "black",
  7.   "format-detection": "telephone=no,email=no,address=no"
  8. }

其中,viewport、keywords、description 是必要的 meta 标签,可添加其他的 meta 标签进行个性化配置。

2、在 index.html 中添加 meta 标签

如果在 page.json 配置 meta 后在页面源代码中不存在相应的标签,需要在 uniapp 项目的 index.html 中将 meta 标签手动添加进去。例如,在 head 标签中添加 viewport 的 meta 标签:

  1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

如果需要添加其他的 meta 标签,可参考第 1 步中的配置。

3、确认 uniapp 打包配置

如果在前两步中均未能解决问题,需要确认 uniapp 打包的配置,主要包括以下两个方面:

是否在 uniapp 的 manifest.json 中配置了打包的路径

manifest.json 是 uniapp 构建的配置文件,需要在其中设置打包的路径。具体而言,需要在 manifest.json 中的 weex > appboard > src 属性或 h5 > router > pages 属性中添加需要打包的页面路径。

  1. // weex > appboard > src 示例
  2. "weex": {
  3.   "appName": "UniApp",
  4.   "appBoard": "/index.vue",
  5.   "pages": [
  6.     "pages/tabbar/index/index",
  7.     "pages/tabbar/quick-work/quick-work",
  8.     "pages/tabbar/find/find",
  9.     "pages/tabbar/mine/mine"
  10.   ]
  11. }
  12.  
  13. // h5 > router > pages 示例
  14. "h5": {
  15.   "custom": {
  16.     "titleNView": true,
  17.     "scrollIndicator": "none"
  18.   },
  19.   "router": {
  20.     "mode": "hash",
  21.     "pages": [
  22.       {
  23.         "path": "/",
  24.         "style": {
  25.           "navigationBarTitleText": "首页"
  26.         },
  27.         "query": "",
  28.         "meta": {
  29.           "viewport": "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no",
  30.           "keywords": "uniapp, h5, 打包配置, manifest.json",
  31.           "description": "uniapp 配置 meta 不生效的解决方法",
  32.           "apple-mobile-web-app-capable": "yes",
  33.           "apple-mobile-web-app-status-bar-style": "black",
  34.           "format-detection": "telephone=no,email=no,address=no"
  35.         }
  36.       }
  37.     ]
  38.   }
  39. }

是否在 uniapp 的 vue.config.js 中配置了打包的路径

除了在 manifest.json 中配置打包路径,也可以在 uniapp 项目的根目录中的 vue.config.js 文件中进行配置,主要是在 outputDir 和 pages 属性中进行设置:

  1. module.exports = {
  2.   outputDir: 'dist/h5',
  3.   pages: {
  4.     index: {
  5.       entry: 'src/main.js',
  6.       template: 'public/index.html',
  7.       filename: 'index.html',
  8.       title: 'Index Page',
  9.       chunks: ['chunk-vendors', 'chunk-common', 'index']
  10.     }
  11.   }
  12. }

以上为部分示例代码,具体请查阅官方文档或在开发过程中进行调试。

结论

在 uniapp 中配置 meta 标签后,如果在页面源代码中不存在相应的标签,需要手动在 index.html 中添加;如果打包后仍未生效,需要确认 manifest.json 和 vue.config.js 中的配置是否正确。希望本文解决了您的问题,也希望 uniapp 能够越来越完善,成为更加稳定、易用的开发工具。


TAG标签:
本文网址:https://www.zztuku.com/index.php/detail-14164.html
站长图库 - Uniapp配置meta不生效怎么解决
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    js表格内容拖拽效果