前端开发您现在的位置是:首页 > 博客日志 > 前端开发

npm ERR! Invalid name

<a href='mailto:'>微wx笑</a>的头像微wx笑 2021-04-24前端开发 6 0关键字: vue  npm  ERR  Invalid  name  package  json  

vue项目,想通过修改package.json文件中的“name: "无知人生"”来修改网页的标题,结果执行“npm run serve”启动服务测试的时候报npm ERR! Invalid name 错误。报错原因:在"nam

vue项目,想通过修改package.json文件中的“name: "无知人生"”来修改网页的标题,结果执行“npm run serve”启动服务测试的时候报npm ERR! Invalid name 错误。ccD无知


ccD无知

报错原因:

在"name"字段中不允许使用 大写字母、空格和中文 package.json。ccD无知

解决方法就不用说了吧。ccD无知


ccD无知

如果你也是想修改网页的标题,这里整理了几种方式:
ccD无知

一、使用vue-router设置每个页面的title

进入 router 文件夹底下的index.js文件ccD无知

首先引入:
ccD无知

import Vue from 'vue'
import Router from 'vue-router'

然后在路由里面配置每个路由的mata为期望的标题:ccD无知

  routes: [
    {          /* (首页)默认路由地址 */
      path: '/',
      name: 'Entrance',
      component: Entrance,
      meta: {
        title: '首页入口'
      }
    },
    {          /* 修改昵称 */
      path: '/modifyName/:nickName',
      name: 'modifyName',
      component: modifyName,
      meta: {
        title: '修改昵称'
      }
    },
    {          /* 商品详情 */
      path: '/goodsDetail',
      name: 'goodsDetail',
      component: goodsDetail,
      meta: {
        title: '商品详情'
      }
    },
    { /* Not Found 路由,必须是最后一个路由 */
      path: '*',
      component: NotFound,
      meta: {
        title: '找不到页面'
      }
    }
  ]

使用为“router.beforeEach”页面设置对应meta标题ccD无知

router.beforeEach((to, from, next) => {
  /* 路由发生变化修改页面title */
  if (to.meta.title) {
    document.title = to.meta.title
  }
  next()
})

二、动态修改页面的标题

route. beforeEach 恐怕只能加载配置文件中的,像文章的详情页面的标题需要等文章的内容加载完成之后再设置,这就需要动态加载技术。ccD无知

在 页面的 view文件里的 methods 中添加一个方法ccD无知

    setPageTitle() {
      const title = 'Edit Article'
      document.title = `${title} - ${this.postForm.id}`
    },

个人觉得这种方式才是比较完美的。
ccD无知


ccD无知


ccD无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/front/2021-04-24/655.html

很赞哦! () 有话说 ()