首頁  >  文章  >  web前端  >  uniapp設定meta不生效怎麼解決

uniapp設定meta不生效怎麼解決

PHPz
PHPz原創
2023-04-27 09:08:53842瀏覽

Uniapp 是一種基於 Vue.js 的跨平台應用程式開發框架,其開發簡單、易上手,可快速建立 iOS、Android 和 H5 頁面,成為現在行動應用程式開發的重要工具之一。然而,跨平台應用程式的開發也帶來了一些問題,例如本文即是解決 uniapp 頁面配置 meta 不生效的問題,希望對讀者有所幫助。

問題描述

近期有開發者回饋在使用uniapp 建立的H5 頁面中,設定meta 標籤沒有生效,即在瀏​​覽器中查看網站原始碼,找不到對應的meta標籤。但在開發工具的預覽中和手機端查看頁面均能夠正常顯示。

問題解決

  1. 確認meta 內容是否正確

#首先需要確保meta 標籤的內容是否正確,在uniapp 的page.json 中設定:

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

其中,viewport、keywords、description 是必要的meta 標籤,可加入其他的meta 標籤進行個人化配置。

  1. 在index.html 中加入meta 標籤

如果在page.json 配置meta 後在頁面原始碼中不存在對應的標籤,則需要在uniapp 專案的index.html 中將meta 標籤手動加入進去。例如,在 head 標籤中新增 viewport 的 meta 標籤:

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

如果需要新增其他的 meta 標籤,可參考步驟 1 中的設定。

  1. 確認uniapp 打包配置

如果在前兩個步驟中都未能解決問題,需要確認uniapp 打包的配置,主要包括以下兩個方面:

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

manifest.json 是uniapp 構建的配置文件,需要在其中設置打包的路徑。具體而言,需要在 manifest.json 中的 weex > appboard > src 屬性或 h5 > router > pages 屬性中新增需要打包的頁面路徑。

// weex > appboard > src 示例
"weex": {
  "appName": "UniApp",
  "appBoard": "/index.vue",
  "pages": [
    "pages/tabbar/index/index",
    "pages/tabbar/quick-work/quick-work",
    "pages/tabbar/find/find",
    "pages/tabbar/mine/mine"
  ]
}

// h5 > router > pages 示例
"h5": {
  "custom": {
    "titleNView": true,
    "scrollIndicator": "none"
  },
  "router": {
    "mode": "hash",
    "pages": [
      {
        "path": "/",
        "style": {
          "navigationBarTitleText": "首页"
        },
        "query": "",
        "meta": {
          "viewport": "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no",
          "keywords": "uniapp, h5, 打包配置, manifest.json",
          "description": "uniapp 配置 meta 不生效的解决方法",
          "apple-mobile-web-app-capable": "yes",
          "apple-mobile-web-app-status-bar-style": "black",
          "format-detection": "telephone=no,email=no,address=no"
        }
      }
    ]
  }
}
  • 是否在uniapp 的vue.config.js 中配置了打包的路徑

除了在manifest.json 中配置打包路徑,也可以在uniapp 專案的根目錄中的vue.config.js 檔案中進行配置,主要是在outputDir 和pages 屬性中進行設定:

module.exports = {
  outputDir: 'dist/h5',
  pages: {
    index: {
      entry: 'src/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: 'Index Page',
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    }
  }
}

以上為部分範例程式碼,具體請查閱官方文件或在開發過程中進行調試。

結論

在uniapp 中配置meta 標籤後,如果在頁面原始碼中不存在對應的標籤,則需要手動在index.html 中新增;如果打包後仍未生效,則需要確認manifest.json 和vue.config.js 中的設定是否正確。希望本文解決了您的問題,也希望 uniapp 能越來越完善,成為更穩定、易用的開發工具。

以上是uniapp設定meta不生效怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn