Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue:npm run serve 到底做了什么?

Vue:npm run serve 到底做了什么?

作者头像
用户9078190
发布于 2022-10-25 13:28:28
发布于 2022-10-25 13:28:28
2.9K01
代码可运行
举报
文章被收录于专栏:知码前端知码前端
运行总次数:1
代码可运行

前言

在 vue-cli2或者 vue-cli3 中,当我们创建好一个项目,我们要通过 npm run dev(vue-cli2的命令,vue-cli3之后用npm run serve,原理都一样,只不过是换了一下名字而已)运行一个项目。或者通过 npm run build 打包一个项目。那么问题来了,当我们在命令框中输入这两个命令的时候:

  1. 这背后到底是做了什么
  2. 是谁帮我们做的这些事

准备工作

首先我们先来创建一个vue项目,这里需要说明一下,我们也可以不用非得创建一个vue的项目,创建一个文件夹,然后在里面创建几个js文件,也可以。不过我们现在都对vue比较熟悉,我们就以vue项目为例。

好,先来创建一个vue项目,在命令行中输入命令:vue create test-vue

我的vue-cli版本是4.4.6,所以要通过这行命令创建。其它版本的可以查一下官方文档。这里不过多解释。

当创建好之后出现以下提示,说明项目已经创建好了

用vscode打开项目,看一下文件目录:

这是vue-cli这个脚手架工具帮我们创建是默认目录。

这背后到底是做了什么

我们在命令行中输入命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm run serve

看一下运行成功之后的提示信息:

有没有小伙伴想过这样的问题:为什么是运行npm run serve命令呢,这些命令在哪里呢,我该怎么记住这些命令。

其实这个命令不需要记这个命令,我们只要记住 npm run就好,当我们创建完项目之后可以看到一个 package.json文件。看一下主要的内容:文件内容过多,我们主要看一下 script标签的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  }
}

聪明的小朋友可能已经明白了,会不会我们 npm run serve 就是执行的的第一行吧。其实是对的,当我们输入 npm run 之后,就是相当于运行 vue-cli-service serve 这行指令。这个名称可以改,我们改成 dev 之后,就是 npm run dev。不知小伙伴是否明白了。

是谁帮我们做的这些事

那么又是谁帮我们把项目运行起来的呢?我们继续看:当输入 npm run serve回车执行的时候,npm会在项目的目录下找到 node_modules文件夹下的 .bin目录,把此目录添到系统的path环境变量下,执行完之后再把环境变量下的目录删除。打开这个文件夹可以看到一个文件:vue-cli-service这其实是一个 link 快捷方式,它指向 @ vue/cli-service/bin/vue-cli-service.js这个文件。

npm run serve 就是在运行这个vue-cli-service.js脚本文件。看一下里面的一些代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const Service = require('../lib/Service')
const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd())
// ....省略了一些代码
const command = args._[0]
service.run(command, args, rawArgv).catch(err => {
  error(err)
  process.exit(1)
})

这里其实就是开启了一个node服务。

总结:

  1. 当我们在命令行中输入 npm run xxxx的时候,其实就是执行 package.json文件里的 scripts里的某个命令
  2. npm run serve命令之后,就是开启了一个服务来运行我们的项目,这是 WebpackDevServer开启的服务
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 知码前端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
天天命令中输入 npm run xxx,倒底 npm run 做了什么,为什么就能开启一个服务?
“人生的意义在于修炼灵魂,首先要有纯洁美丽的心灵,这是思考人生要具备的,拥有什么样的心灵,就会选择什么样的人生,实现什么样的人生价值”
用户9078190
2022/10/28
1.5K0
天天命令中输入 npm run xxx,倒底 npm run 做了什么,为什么就能开启一个服务?
16. 使用vue3结构及配置管理
如果选择是: 下次在配置选项的时候, 除了default,manually,还会多一个我们保存的项目配置.
用户7798898
2021/03/11
1.4K0
16. 使用vue3结构及配置管理
三面面试官:运行 npm run xxx 的时候发生了什么?
面试官:停停,我问的不是从URL输入到页面展现到底发生什么?,是npm run xxx的时候,发生了什么。
前端阳光
2022/03/25
1.5K0
三面面试官:运行 npm run xxx 的时候发生了什么?
Vue-Cli4笔记
如果仍然需要使用vue init webpack初始化项目的话,则需要安装cli-init,但是拉取的仍然是Vue-Cli2.0版本
WindRunnerMax
2020/08/27
4330
vue-cli3项目搭建配置以及性能优化
在之前的开发中主要用的是vue-cli2,最近空闲时间比较多,接下来有新项目,本着偷懒的本能,自己打算搭建一个基础包以备后期开发应用,并对其进行性能优化和配置
青梅煮码
2023/03/13
1.7K0
vue-cli3项目搭建配置以及性能优化
vue.js 三种方式安装(vue-cli)
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。
全栈程序员站长
2022/07/01
1.7K0
vue.js 三种方式安装(vue-cli)
13. Vue CLI脚手架
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建工具能够基于智能的默认配置即可平稳衔接,这样你可以专注在撰写应用上,而不必花好几天去纠结配置的问题。与此同时,它也为每个工具提供了调整配置的灵活性。
用户7798898
2021/03/09
1K0
Vue学习-Vue CLI
如果想按照Vue-CLI2的方式初始化项目需要安装2.x的模板,在终端键入如下命令(注意指定版本号):
花猪
2022/02/17
1K0
Vue学习-Vue CLI
一份超级详细的Vue-cli3.0使用教程[赶紧来试试!]
在vue-cli 2.X的时候,也写过一篇类似的文章,在八月份的时候vue-cli已经更新到了3.X,新版本的脚手架,功能灰常强大,试用过后非常喜欢,写篇教程来帮助各位踩一下坑。
OBKoro1
2020/10/27
8840
一份超级详细的Vue-cli3.0使用教程[赶紧来试试!]
Vue-CLI 项目搭建
CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令。它可以通过 vue create 快速搭建一个新项目,或者直接通过 vue serve 构建新想法的原型。你也可以通过 vue ui 通过一套图形化界面管理你的所有项目。
HammerZe
2022/05/09
1.4K0
Vue-CLI 项目搭建
你不知道的npm
作为 node 自带的包管理器工具,在 nodejs 社区和 web 前端工程化领域发展日益庞大的背景下,npm已经成为每位前端开发同学必备的工具。
前端森林
2020/04/23
1.4K0
你不知道的npm
Vue组件库 View UI快速入门 环境配置
Designer 小郑
2023/08/01
3510
Vue组件库 View UI快速入门 环境配置
【前端配置篇】vue项目之.env系列文件配置详解:.env文件配置全局环境变量
vue 会根据启动命令自动加载相对应的环境配置文件。vue是根据文件名进行加载的,所以上面说“不要乱起名,也无需专门控制加载哪个文件”
江一铭
2022/06/17
17.8K0
【前端配置篇】vue项目之.env系列文件配置详解:.env文件配置全局环境变量
「Vue进阶」一篇文章,教你学会Vue-CLI 插件开发
如果你正在使用Vue框架,那么你肯定知道 VueCLI是什么。 Vue-CLI3,它是Vue.js 开发的标准工具(脚手架),提供项目支架和原型设计。
前端劝退师
2019/09/17
2K0
「Vue进阶」一篇文章,教你学会Vue-CLI 插件开发
【架构师(第三十六篇)】 业务组件库开发之发布到 NPM
结果发现这一行 Ts 报错了,原因是 vue 的版本不一致,真实的场景下不会出现这个问题,因为真实情况下组件库用的是上级的依赖。
一尾流莺
2022/12/10
8300
【架构师(第三十六篇)】 业务组件库开发之发布到 NPM
【xingorg1-ui】基于vue3.0从0-1搭建组件库 (十) 组件发布到NPM
本来需要配置.npmignore配置文件,但是网上不建议用这种方式,说是黑名单的方式,不在黑名单里的关键信息都发上去了。 而是建议使用package.json里配置白名单的方式。于是将package.json配置如下: 关键配置处加上了备注信息:
xing.org1^
2020/11/24
9680
【xingorg1-ui】基于vue3.0从0-1搭建组件库 (十) 组件发布到NPM
中秋节最后一天,手撸一个自己的前端脚手架
“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第3篇文章,点击查看活动详情”
用户6256742
2024/07/31
1110
Migrate From Vue-cli to Vite
[译] 原文地址:https://medium.com/nerd-for-tech/from-vue-cli-to-vitejs-648d2f5e031d
皮小蛋
2021/05/08
5.2K1
Migrate From Vue-cli to Vite
vue vue-clie多环境配置
键:环境名,在运行命令的时候使用,如:npm run serve01就是执行该键所对应的值命令 值:vue-cli-service命令;serve表示是运行还是打包,serve表示是编译运行,build则是进行打包;--mode serve_01表示环境的模式名字,在创建配置文件的时候作为区分。
小蔚
2021/03/11
6960
vue    vue-clie多环境配置
npm run dev启动报错:Error: Cannot find module 'semver'
PS C:\Users\wangting\Desktop\Wisdom_admin\wisdom_admin> npm run dev > eladmin-web@2.6.0 dev C:\Users\wangting\Desktop\Wisdom_admin\wisdom_admin > vue-cli-service serve internal/modules/cjs/loader.js:985 throw err; ^ Error: Cannot find module 'semver
王小婷
2021/11/24
3.9K0
npm run dev启动报错:Error: Cannot find module 'semver'
相关推荐
天天命令中输入 npm run xxx,倒底 npm run 做了什么,为什么就能开启一个服务?
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档