没有合适的资源?快使用搜索试试~ 我知道了~
vue-cli系列之vue-cli-service整体架构浅析
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 22 浏览量
2020-12-07
11:32:18
上传
评论
收藏 68KB PDF 举报
温馨提示
概述 vue启动一个项目的时候,需要执行npm run serve,其中这个serve的内容就是vue-cli-service serve。可见,项目的启动关键是这个vue-cli-service与它的参数serve。接下来我们一起看看service中主要写了什么东东(主要内容以备注形式写到代码中。)。 关键代码 vue-cli-service.js const semver = require('semver') const { error } = require('@vue/cli-shared-utils') const requiredVersion = require('..
资源推荐
资源详情
资源评论






















vue-cli系列之系列之vue-cli-service整体架构浅析整体架构浅析
概述概述
vue启动一个项目的时候,需要执行npm run serve,其中这个serve的内容就是vue-cli-service serve。可见,项目的启动关键
是这个vue-cli-service与它的参数serve。接下来我们一起看看service中主要写了什么东东(主要内容以备注形式写到代码中。
)。
关键代码关键代码
vue-cli-service.js
const semver = require('semver')
const { error } = require('@vue/cli-shared-utils')
const requiredVersion = require('../package.json').engines.node
// 检测node版本是否符合vue-cli运行的需求。不符合则打印错误并退出。
if (!semver.satisfies(process.version, requiredVersion)) {
error(
`You are using Node ${process.version}, but vue-cli-service ` +
`requires Node ${requiredVersion}.Please upgrade your Node version.`
)
process.exit(1)
}
// cli-service的核心类。
const Service = require('../lib/Service')
// 新建一个service的实例。并将项目路径传入。一般我们在项目根路径下运行该cli命令。所以process.cwd()的结果一般是项
目根路径
const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd())
// 参数处理。
const rawArgv = process.argv.slice(2)
const args = require('minimist')(rawArgv, {
boolean: [
// build
'modern',
'report',
'report-json',
'watch',
// serve
'open',
'copy',
'https',
// inspect
'verbose'
] })
const command = args._[0]
// 将参数传入service这个实例并启动后续工作。如果我们运行的是npm run serve。则command = "serve"。
service.run(command, args, rawArgv).catch(err => {
error(err)
process.exit(1)
})
Service.js
上面实例化并调用了service的run方法,这里从构造函数到run一路浏览即可。
const fs = require('fs')
const path = require('path')
const debug = require('debug')
const chalk = require('chalk')
const readPkg = require('read-pkg')
const merge = require('webpack-merge')
const Config = require('webpack-chain')
const PluginAPI = require('./PluginAPI')
const loadEnv = require('./util/loadEnv')
const defaultsDeep = require('lodash.defaultsdeep')
const { warn, error, isPlugin, loadModule } = require('@vue/cli-shared-utils')
资源评论


weixin_38747126
- 粉丝: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- PLC交通灯控制系统样本.doc
- 成功项目管理试题.doc
- cad顶岗实习周记.docx
- OA管理系统需求规格说明书-WEB.docx
- 2824年中国互联网+儿童教育行业前景研究与行业前景预测报告(目录).pdf
- 2022微软的面试题及答案.docx
- Word中的常用快捷键介绍办公软件知识-电脑资料.doc
- ups网络管理解决方案.doc
- 材料成形装备及自动化CE.ppt
- Q HJSP 0003 S-2022 花馍.pdf
- VOIP网络电话安装试用协议书.docx
- WS T3062009卫生信息数据集分类与编码规则.pdf
- CAD常用的尺寸数据.doc
- 2023年新版移动通信试题库.doc
- 2022网络爱情语句99条.docx
- 2023年浙江省职称计算机考试联系试题ppt.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
