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

npm ERR! Invalid name

<a href='mailto:'>微wx笑</a>的头像微wx笑2021-04-24 13:04:15前端开发人已围观关键字: 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 错误。Pi9编程技术_踩坑日志_进阶指南_无知人生


Pi9编程技术_踩坑日志_进阶指南_无知人生

报错原因:

在"name"字段中不允许使用 大写字母、空格和中文 package.json。Pi9编程技术_踩坑日志_进阶指南_无知人生

解决方法就不用说了吧。Pi9编程技术_踩坑日志_进阶指南_无知人生


Pi9编程技术_踩坑日志_进阶指南_无知人生

如果你也是想修改网页的标题,这里整理了几种方式:
Pi9编程技术_踩坑日志_进阶指南_无知人生

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

进入 router 文件夹底下的index.js文件Pi9编程技术_踩坑日志_进阶指南_无知人生

首先引入:
Pi9编程技术_踩坑日志_进阶指南_无知人生

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

然后在路由里面配置每个路由的mata为期望的标题:Pi9编程技术_踩坑日志_进阶指南_无知人生

  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标题Pi9编程技术_踩坑日志_进阶指南_无知人生

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

二、动态修改页面的标题

route. beforeEach 恐怕只能加载配置文件中的,像文章的详情页面的标题需要等文章的内容加载完成之后再设置,这就需要动态加载技术。Pi9编程技术_踩坑日志_进阶指南_无知人生

在 页面的 view文件里的 methods 中添加一个方法Pi9编程技术_踩坑日志_进阶指南_无知人生

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

个人觉得这种方式才是比较完美的。
Pi9编程技术_踩坑日志_进阶指南_无知人生


Pi9编程技术_踩坑日志_进阶指南_无知人生


Pi9编程技术_踩坑日志_进阶指南_无知人生

本文由 微wx笑 创作,采用 CC BY-NC 4.0 许可协议。 非商业性使用可自由转载、引用、甚至修改,但需署名作者且注明出处。

很赞哦! () 有话说 ()