首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vue.js应用程序中设置viewport元标记

在vue.js应用程序中设置viewport元标记
EN

Stack Overflow用户
提问于 2018-11-13 16:43:00
回答 4查看 19.1K关注 0票数 14

在开发和构建我的项目时,我使用Vue CLI 3。

在构建我的项目时,默认情况下它会将这些元标记添加到index.html中。

代码语言:javascript
复制
<meta charset=utf-8>
<meta http-equiv=X-UA-Compatible content="IE=edge">
<meta name=viewport content="width=device-width,initial-scale=1">

但是,对于移动设备,我想将user-scalable=no添加到viewport-tag中。

我怎么才能覆盖这些元标签?

对于vue-headvue元,我没有运气。这些插件只添加元标签,而不是过度使用它们。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-11-14 10:31:59

感谢d给了我正确的答案。由于Vue CLI已经拥有html-webpack插件,所以我采用了正式的Vue CLI (https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-plugin)。

1-新增public/index.html

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title><%= htmlWebpackPlugin.options.title %></title>
    <meta charset="utf-8"/>
</head>
<body>
<div id="app"></div>
</body>
</html>

vue.config.js中的2集元标签

代码语言:javascript
复制
chainWebpack: (config) => {
    config
        .plugin('html')
        .tap(args => {
            args[0].title = 'MyApp title';
            args[0].meta = {viewport: 'width=device-width,initial-scale=1,user-scalable=no'};

         return args;
    })
}
票数 21
EN

Stack Overflow用户

发布于 2018-11-14 06:00:55

你在使用vue-meta的过程中走上了正轨。

  1. 不要将它们静态地添加到index.html文件中。
  2. 使用vue-meta添加它们
  3. vmid属性设置为某些唯一标识符,这样vue-meta将替换现有元标记的内容,而不是创建一个新标记。
票数 1
EN

Stack Overflow用户

发布于 2018-11-14 06:12:48

在构建我的项目时,默认情况下它会将这些元标记添加到index.html中。

是的,但在那之后你可以随意修改index.html。

我怎么才能覆盖这些元标签?

您可以在index.html中用经典的方式直接对它们进行硬编码,也可以使用您提到的插件。

我没有运气,有了维特海德和维美亚。这些插件只添加元标签,而不是过度使用它们。

这不是插件的问题: HTML没有提供一种覆盖元标记的方法。这取决于你设置正确的元标签。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53285704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档