主要內容: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= { }