導 : 以前註冊組件有什麼缺點 ?javascript
1- 缺少語法高亮 2-格式很差總體 3-沒有專門的寫css代碼等等css
參考 : vue => 工具 => 單文件組件html
腳手架 2.X ==> 2.Xvue前端
腳手架 3.X ==> 3.X vuevue
vue-cli 是 vue 的腳手架工具java
做用 : vue-cli 提供了一條命令, 咱們直接經過這條命令就能夠快速的生成一個 vue 項目 (vue init XX
) 。 項目的基本結構、以及 webpack 配置項 所有配置 好了node
爲何會有腳手架工具 ???webpack
由於 webpack 配置繁瑣, 阻止一批想用 vue 可是不會 webpack 的開發人員,因此做者直接將全部 vue 項目中用到的配置所有幫你寫好了,這樣,就不須要開發人員再去配置基礎 webpack 配置項了git
也就是說,使用 vue-cli 這個腳手架工具後,不再用擔憂 webpack 配置問題了, 咱們前端只須要寫 vue 代碼, 來實現功能便可es6
npm i -g vue-cli
vue init webpack 項目名稱
vue init webpack vue-demo01
? Project name # 回車
? Project description # 回車
? Author # 回車
? Vue build standalone # => 運行時+編譯 => 詳見下面的問題1
? Install vue-router? # Yes
(建議手動裝)
? Use ESLint to lint your code? # Yes => 詳見下面的問題2
? Pick an ESLint preset Standard # standard
? Set up unit tests # No
? Setup e2e tests with Nightwatch? # No
? Should we run `npm install` for you after the project has been created? # (recommended) npm
複製代碼
(總結:有test就n)
To get started:
cd vue-demo01
npm run dev
複製代碼
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
第一遍:文件夾, 第二遍再細化文件
# build - webpack 相關配置
- build.js - 生產環境構建代碼
- check-version.js 檢查 node、npm 等版本
- util.js 構建工具相關
- vue-loader.config.js vue-loader 的配置文件
- webpack.base.conf.js - webpack 的基礎配置
- webpack.dev.conf.js - webpack 開發環境配置
- webpack.prod.conf.js - webpack 發佈環境配置
# config - vue 基本配置文件(好比:監聽端口(17), 使用 eslint:(26))
- dev.env.js - 開發環境變量
- index.js 項目的一些配置
- prod.env.js 生成環境變量
# node_modules - node 安裝的依賴包
# src - 資源文件夾, 之後咱們就在這個目錄下寫代碼
- assets - 靜態資源 (圖片 css 都放在這)
- components - 公用組件
- router - 路由
- App.vue - 項目的根組件
- main.js - 項目的入口文件(總邏輯)
# static - 靜態資源 (圖片 json 數據之類的)
- .gitkeep git 保持文件,由於 git 上傳,會忽略空文件夾
# .babelrc - babel 配置文件, (es6 語法編譯配置,將 es6 轉化爲瀏覽器可以識別的代碼)
# .editorconfig - 定義代碼格式
- charset = utf-8 編碼 utf8
- indent_style = space 縮進 空格
- indent_size = 2 縮進字符
- end_of_line = lf 回車做爲換行的標記
- insert_final_newline = true 最近一空白行做爲結尾
- trim_trailing_whitespace = true 清除最開始的空白
- 若是使用 ?
- 1. 安裝 vscode 的 editorConfig for vscode
- 2. eslint 檢測修復後
# .eslintignore - eslint 檢測忽略的地方
- /build/
- /config/
- /dist/
- /\*.js 根目錄下帶.js 的
# .eslintrc.js - eslint 的配置文件
# .gitignore - git 的忽略文件
# .postcssrc.js - css 配置文件 (啥也沒有處理)
# index.html - 頁面入口
# package.json - 項目配置文件
複製代碼
assets 靜態資源
components 組件
App.vue 根組件 => 指定路由出口
app 中的 #app 仍是 index.html 中的 #app, app.vue 中的會覆蓋前者 能夠經過分別添加 title 屬性驗證一下
路由出口要寫在 app.vue 組件模板中
main.js
Vue.config.productionTip = false
不要打印提示new Vue({
el: '#app', // 目標顯示
router, // 掛載路由
components: { App }, // 註冊組件 App
template: '<App/>' // 模板顯示組件 app
})
複製代碼
route/index.js => 路由
必定要記住 :Vue.use(Router)
模塊化公工程中必定要安裝路由插件 .js 就是一個模塊
官網裏 也提到 https://router.vuejs.org/zh/installation.html
參考 : vue.js => 安裝 => 對不一樣構建本版本的解釋
// 須要編譯器
new Vue({
template: '<div>{{ hi }}</div>'
})
// 不須要編譯器
new Vue({
render (h) {
return h('div', this.hi)
}
})
複製代碼
router/index.js =>
import HelloWorld from '@/components/HelloWorld'
import HelloWorld from 'C:/users/.../src/components/HelloWorld'
複製代碼
概念 : ESLint 是在 JavaScript 代碼中識別和報告模式匹配的工具,它的目標是保證代碼的一致性和避免錯誤。
在 vscode等編輯工具 中, 能夠提示語法錯誤
在許多方面,它和 JSLint、JSHint 類似,除了少數的例外:
如何使用 eslint ?
"editor.formatOnSave": true, //#每次保存的時候自動格式化
"eslint.autoFixOnSave": true, // #每次保存的時候將代碼按eslint格式進行修復
"eslint.validate": [
{ "language": "html", "autoFix": true },
{ "language": "vue", "autoFix": true },
{ "language": "javascript", "autoFix": true },
{ "language": "wpy", "autoFix": true }
],
"prettier.eslintIntegration": true, // #讓prettier使用eslint的代碼格式進行校驗
"prettier.semi": true, //#去掉代碼結尾的分號
"prettier.singleQuote": true, //#使用單引號替代雙引號
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"editor.formatOnType": true //#讓函數(名)和後面的括號之間加個空格
複製代碼
關閉 Eslint :
dev.useEslint
設置爲falsenpm run dev
測試 : 刪除 main.js 中的 /* eslint-disable no-new */ 關閉後 會報波浪線,可是不會報錯了
安裝 vscode 插件 Prettier
功能1 : shift + alt + F => 格式化代碼
功能2 : 配合 eslint : 見上一個問題的配置
eslint-disable-next-line # 忽略檢測下一行 能夠使用單行註釋/多行註釋,其餘都是多行註釋
eslint-disable # 忽略當前整個文件
eslint-disable no-new # 忽略前面是new開頭
複製代碼