使用命令
一个Vue CLI项目中,
@vue/cli-service
安装了一个名为vue-cli-srvice
的命令。可以在npm scripts
中以vue-cli-service
、或者从终端中以./node_modules/.bin/vue-cli-service
访问这个命令.默认preset的项目的package.json:
{
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
}
}
- 可以通过npm or yarn调用这些script
npm run serve
yarn serve
# 或者使用最新版npm已经自带的npx命令
npx vue-cli-service serve
提示
可以通过vue ui命令使用GUI运行更多的特性脚本
vue-cli-service serve
# 用法: vue-cli-service serve [options] [entry]
# 选项:
--open # 在服务器启动时打开浏览器
--copy # 在服务器启动时将URL复制到剪切版
--mode # 指定环境模式(默认是development)
--host # 指定 host (默认值: 0.0.0.0)
--port # 指定 port (默认值: 8080)
--https # 是否使用 https (默认值: false)
vue-cli-service serve
命令会启动一个开发服务器(基于webpack-dev-server)并附带开箱即用的模块热重载(hot-module-replacement)除了添加options外,也可以使用
vue.config.js
中的devServer字段配置开发服务器命令行参数
[entry]
将指定为唯一入口,而非额外的追加入口。使用[entry]
覆盖config.pages中的entry将会引发错误
vue-cli-service build
# 用法: vue-cli-service build [options] [entry]
# 选项:
--mode # 指定环境模式 (默认值:production)
--dest # 指定输出目录 (默认值: dist)
--modern # 面向现代浏览器自动回退地构建应用
--target # app | lib | wc | wc-async (默认值: app)
--name # 库或 Web Components 模式下的名字 (默认值: package.json中的:"name"字段或入口文件名)
--no-clean # 在构建项目之前不清楚目标目录
--report # 生成 report.html 以帮助分析包内容
--report-json #生成 report.json 以帮助分析包内容
--watch # 监听文件变化
vue-cli-service build
命令运行后会在dist/目录产生一个可用于生产环境的包,带有js/html/css的压缩,和为了更好的缓存而做的自动的vendor chunk splitting. 它的chunk manifest会内联在HTML里
vue-cli-service inspect
# 用法: vue-cli-service inspect [options] [...paths]
# 选项:
--mode # 指定环境模式 (默认值: development)
- 可以使用
vue-cli-service inspect
来审查一个Vue CLI项目的webpack config
查看所有的可用命令
- 有些CLI插件会向
vue-cli-service
注入额外的命令。@vue/cli-plugin-eslint
会注入vue-cli-service lint
命令。
# 下面这个命令可以查看所有注入的命令
npx vue-cli-service help
# 学习每个命令的可用选项
npx vue-cli-service help [command]
缓存和并行处理
cache-loader
会默认为Vue/Babel/TypeScript编译开启。文件会缓存在```node_modules/.cache中——如果你遇到了编译方面的问题,记得先删掉缓存目录之后再试试看。thread-loader
会在多核CPU的机器上为Babel/TypeScript转译开启。
Git Hook
- 在安装之后,
@vue/cli-service
也会安装yorkie
{
"gitHooks": {
"pre-commit": "lint-staged"
},
"lint-staged": {
"*.{js,vue}: [
"vue-cli-service lint",
"gti add"
]
}
}
配置时无需Eject
- 通过 vue create 创建的项目无需额外的配置就已经可以跑起来了。插件的设计也是可以相互共存的,所以绝大多数情况下,你只需要在交互式命令提示中选取需要的功能即可。