主要内容:javascript
以前建立了vue-cli2的脚手架, 此次来建立vue-cli3的.html
建立项目的命令:vue
vue create 项目名称
三选一, 咱们来看看这个配置的含义:java
- defalut (babel, eslint)
默认配置, 默认配置安装了es6转es5,eslint代码格式化工具
- Manually select feature: 手动选择特性
一般, 若是咱们须要指定哪些插件安装,哪些不安装, 就能够选择手动
某些配置是单独放在在一个配置文案node
若是选择是: 下次在配置选项的时候, 除了default,manually,还会多一个咱们保存的项目配置.webpack
若是咱们设置了不少自定义配置,如何取消呢?git
在/Users/用户名/.vuerc, 修改这个文件es6
{ "useTaobaoRegistry": false, "presets": { "mySet": { "useConfigFiles": true, "plugins": { "@vue/cli-plugin-babel": {} }, "vueVersion": "2" } } }
里面有个选项是presets. 下面就是咱们保存的设置.设置名称是mySet.这个配置只安装一个插件:@vue/cli-plugin-babelweb
下面来对比看一下vue-cli2 和vue-cli3的项目结构的区别
能够看到vue-cli3的项目结构简洁了不少vue-cli
下面咱们来看一下vue-cli3项目中各个文件的含义
> 1% last 2 versions not dead
适配市场份额大于1%的最后两个版本, 不适配已通过期的版本
node_modules /dist
重点看这个, 忽略node_modules文件和/dist构建后的文件. 经过运行npm run serve就能够生成这两个文件了
module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ] }
一般, 不修改这个文件的内容
{ "name": "03-vuecli3", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build" }, "dependencies": { "core-js": "^3.6.5", "vue": "^2.6.11" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-service": "~4.5.0", "vue-template-compiler": "^2.6.11" } }
这个比vue-cli2的devDependencies配置文件少了不少. 而多了一个下面这个配置:
"@vue/cli-service": "~4.5.0",
这个配置的做用是: 管理dev环境的依赖. vue-cli3使用这个配置之后, 简化了配置文件.
在package.json配置文件中, 咱们会使用~或者^来模糊匹配版本号, 而这个文件里就是精确指明使用的详细版本号了
来看下面的图片, 对比两者的区别:
Vue.config.productionTip = false
这句话的意思是: 是否打印项目启动的详细提示信息. false: 不打印. true: 打印
不一样的地方在这里
vue-cli2
new Vue({ el: '#app', render: h => h(App) })
vue-cli3
new Vue({ render: h => h(App), }).$mount('#app')
其实这两种写法是一个意思. el:'#app',vue在解析的时候, 会去执行$mount("#app").
vue-cli3为了项目结构简单, 去掉了config和build文件夹。 可是这些文件夹实际上都是须要的。 加入咱们想要修改配置文件, 要如何修改呢?有三种方法:
首先, 咱们安装vue UI界面管理。 这是一个全局的命令
vue ui
安装好之后, 以下所示:
在这咱们能够导入项目, 建立项目.
咱们导入刚刚建立的vuecli3项目, 导入成功后看到以下界面:
{ "name": "03-vuecli3", "version": "0.1.0", "private": true, "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build" }, "dependencies": { "core-js": "^3.6.5", "vue": "^2.6.11" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-service": "~4.5.0", "vue-template-compiler": "^2.6.11" } }
在devDependencies选项中有三个插件, 而咱们的vue ui中只有两个, 另外一个在<依赖>里面,一会就能够看到了.
这里面就有咱们以前在webpack.config.js中定义的输入路径,输出路径, 公共路径等. 若是须要修改, 能够直接修改这里
咱们以前启动服务都是使用命令, vue3也能够在ui界面进行启动
点击运行按钮, 便可启动.而且能够监控启动状态等.
虽然vue-cli3简化了配置, 可是这些配置仍是得有, 只是对用户来讲, 隐藏了. 那么这个配置隐藏在哪里了呢?在node_module中@vue目录下.
在@vue目录下, 找到cli-service目录, 如今vue的配置都交给了cli-service来管理. 在cli-service目录下, 有一个webpack.config.js.这个就是webpack的配置.
// this file is for cases where we need to access the // webpack config as a file when using CLI commands. let service = process.VUE_CLI_SERVICE if (!service || process.env.VUE_CLI_API_MODE) { const Service = require('./lib/Service') service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd()) service.init(process.env.VUE_CLI_MODE || process.env.NODE_ENV) } module.exports = service.resolveWebpackConfig()
咱们看到它引入了lib目录下的Service.js配置文件, 这里面有引入了不少包.
这里就有base基础配置, dev开发环境配置,prod生成环境配置等.
若是咱们想要修改默认配置, 须要在根目录下新建一个文件vue.config.js. 这个文件名是固定的, 不可修改.
而后将自定义的内容写到module.exports里面
module.exports= { }