全新版本的脚手架、逼格很是高、 记住这个名字 @vue/cli
,对就是这个 你npm 或者yarn 安装就好了,先保证全局环境有它。vue
npm install -g @vue/cli yarn globaladd
@vue/cli
出现这个表示安装成功:add
这里对比下之前2.X
以前的版本 ,新版本把插件
以及模板
等 移植到命令行界面了.node
旧版 | 建立命令 |
---|---|
2.x |
vue init <template-name> <project-name> |
3.x |
vue create <project-name> |
来一张图把 ,这里已经有几个默认配好的模板了,咱们选最后的Manually select features
webpack
vue-cli3.0
在你建立后会有一个保存当前配置的功能
这里就很傻瓜了, 你要集成什么 就选就好了。我这里选个我比较经常使用的。ios
TypeScript
PWA
Vue-router
Vuex
CSS预处理
eslint prettier
自动化测试单元测试 、e2e
vue-cli 3.x
默认会打开浏览器 地址也会打在控制台。yarn serve // OR npm run serve
首先看下总体目录 比 2.x
以前 是精简了很多nginx
去掉了2.x
build
和config
等目录 ,大部分配置 都集成到vue.config.js
这里了git
vue.config.js里
大概包括了配置 经常使用的输出路径名、跟目录、预处理、devServer配置、pwa、dll、第三方插件等等
详细配置能够看官方文档 详细config配置
这里我先改个端口, 修改vue.config.js
而后从新启动工程 , 能够看到已经改为5999
端口了github
module.exports = { lintOnSave: false, devServer: { port: 5999 } }
webpack
的配置在这个属性里修改configureWebpack
web
包括plugins
也能够本身扩展 ,自己尤大已经把经常使用的都封装了 ,不知足能够自行扩展。vue-cli
这里改个webpack devtool输出方式、默认那个我属实不知道怎么跟踪代码
configureWebpack: config => { if (process.env.NODE_ENV === 'development') { config.devtool = 'source-map' // mutate config for production... } }
其余配置 就不一一介绍了 具体能够看这里webpackshell
在项目根目录 建立二个文件
.env.development
.env.production
里面配置键值对就好了
但要注意 这里必须以
VUE_APP
开头
这样咱们就能够自定义个全局变量在某个模式下
VUE_APP_MOCK_URL = 'http://xxxx.xxx.xx.xx/mockjs/'
好比这样在axios
中就能够配置根路径了
const service = axios.create({ baseURL: process.env.VUE_APP_MOCK_URL })
本文使用vue-cli3.x
从环境、到建立、到配置、和经常使用项目技巧进行了简单介绍,但愿能够帮助到刚使用的人 。
整理vue-cli的安装步骤:
使用vue-cli生成项目步骤:
前提是必须先安装nodejs,安装完成后,能够在shell中使用node-v和npm-v查看安装的版本。
一、安装nodejs
node -v
npm -v
二、Vue CLI须要Node.js 8或更高版本(建议8.10.0以上)
执行以下:npm install -g @vue/cli
看到了:@vue/cli@3.0.0-rc.3表示安装成功了
或者是:C:\Users\Administrator>vue -V
3.0.0-rc.3
三、vue create hello-world生成新项目
必定要连网,等待它下载完成
4.下载完成后运行两条命令:
$ cd hello-world
$ npm run serve
在2.0的版本中: npm run dev
npm start
vue-cli2.0 版本 生成项目的命令:
vue init webpack-simple(模板的名字) 项目的名字
template:webpack-simple|webpack
init[options] <template> <app-name> generate a project from a remote template(legacy API,requires @vue/cli-init)