Vue一、概念簡介以及vue-cli腳手架初始化vue項目

vue 官方文檔
vue-cli 官方文檔
vue 參考文章
vue 完整項目地址

一、用vue-cli腳手架快速創(chuàng)建一個vue項目

1抱婉、概念簡介

vue-cli 簡單來說就是一個快速構(gòu)建vue項目的腳手架工具,大大降低了webpack的使用難度桌粉,支持熱更新蒸绩,有webpack-dev-server的支持,相當(dāng)于搭了個測試環(huán)境铃肯,將重心放在了開發(fā)上患亿,而不必花大量精力去糾結(jié)配置的問題。

2押逼、安裝vue-cli

在新版本中步藕,vue-cli的包名稱由 vue-cli改成了@vue/cli。 如果你已經(jīng)全局安裝了舊版本的 vue-cli (1.x 或 2.x)挑格,你需要先通過npm uninstall vue-cli -gyarn global remove vue-cli 卸載它咙冗。

可以使用下列任一命令在cmd中安裝這個新的包:

npm install -g @vue/cli
# OR
yarn global add @vue/cli

安裝完成之后輸入 vue -V(注意這里是大寫的“V”)或者vue --version來檢測目前的版本。

之后
我們也可以在cmd(命令提示符)中輸入vue ui圖形化界面來創(chuàng)建和管理項目

3漂彤、創(chuàng)建新項目

vue create 項目名

(1)默認型

· 在輸出上面命令時雾消,會讓你選擇默認(default)還是手動(Manually)

· 先是默認的,一路回車后的項目目錄如下:

(2)手動型

· 按一下 ↓ 鍵選擇 Manually 手動型

·選擇自己常用的格式挫望,按 空格鍵 是選擇單個立润,a 鍵 是全選。

· vue-router 默認 hash 模式士骤,如果選擇yes會使用history模式

· 下一步詢問你安裝哪一種 CSS 預(yù)處理語言

· 這個是問你選擇哪個自動化代碼格式化檢測范删,

· 第一個是保存就檢測,第二個是 fix 和 commit 的時候檢查拷肌。

· 選擇單元測試解決方案到旦,Mocha是流行的JavaScript測試框架之一旨巷,通過它添加和運行測試,從而保證代碼質(zhì)量添忘,chai 是斷言庫采呐,我兩個都選擇了。

· 下邊問:babel, postcss, eslint 這些配置文件放哪搁骑?
第一個是:放獨立文件放置
第二個是:放package.json里

· 下邊意思是是否把以上配置保存為未來項目的預(yù)配置(就是下次創(chuàng)建項目時斧吐,可以選擇剛剛配置好的配置,不用再重復(fù)一遍)仲器,最后是預(yù)配置的名字煤率。

· 在創(chuàng)建項目時就會出現(xiàn)你配置好的名字

4、啟動新項目

7健蝶糯!注意啟動項目不能在有中文的目錄下

// 1. 進入項目
cd 項目名 

// 2. 安裝項目依賴
npm install

// 3. 啟動
npm run serve

· cmd中出現(xiàn)下列內(nèi)容表示啟動成功

· 在瀏覽器中請求 http://localhost:8080/

· 文件目錄

這樣一個用vue-cli腳手架創(chuàng)建的項目就創(chuàng)建成功了

·有人可能會奇怪npm run build命令是干啥的

運行之后的命令符

運行之后生成的文件夾

簡單來說,npm run build就是一個打包命令辆沦,將復(fù)雜的vue項目打包成一個簡單的dist靜態(tài)資源文件夾昼捍,文件夾中的index.html是入口文件,想要把咱的項目放到服務(wù)器上給其他人看肢扯,當(dāng)然把整個vue項目放上去用pm2運行也可以妒茬,最好的辦法是打包放到服務(wù)器上去,用nginx去配置它蔚晨。

5乍钻、vue-cli 2.X 與vue-cli 3.0以上創(chuàng)建的版本的區(qū)別

(1)相比 vue-cli 2.X 創(chuàng)建的目錄,vue-cli 3.0 創(chuàng)建的目錄看不見 webpack 的配置

(2)啟動命令行由:

npm run dev 或者 npm start
改變?yōu)?br> npm run serve

(3)安裝過程也發(fā)生了一些變化铭腕,配置可以保存团赁,下次可以再用

(4)手動配置 webpack:在根目錄下新建一個 vue.config.js 文件,進行你的配置 :

const path = require('path');

module.exports = {
    // 基本路徑
    baseUrl: './',
    // 輸出文件目錄
    outputDir: 'dist',
    // eslint-loader 是否在保存的時候檢查
    lintOnSave: true,
    // webpack配置
    // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
    chainWebpack: () => {},
    configureWebpack: (config) => {
        if (process.env.NODE_ENV === 'production') {
            // 為生產(chǎn)環(huán)境修改配置...
            config.mode = 'production';
        } else {
            // 為開發(fā)環(huán)境修改配置...
            config.mode = 'development';
        }

        Object.assign(config, {
            // 開發(fā)生產(chǎn)共同配置
            resolve: {
                alias: {
                    '@': path.resolve(__dirname, './src'),
                    '@c': path.resolve(__dirname, './src/components')
                }
            }
        });
    },
    // 生產(chǎn)環(huán)境是否生成 sourceMap 文件
    productionSourceMap: true,
    // css相關(guān)配置
    css: {
        // 是否使用css分離插件 ExtractTextPlugin
        extract: true,
        // 開啟 CSS source maps?
        sourceMap: false,
        // css預(yù)設(shè)器配置項
        loaderOptions: {},
        // 啟用 CSS modules for all css / pre-processor files.
        modules: false
    },
    // use thread-loader for babel & TS in production build
    // enabled by default if the machine has more than 1 cores
    parallel: require('os').cpus().length > 1,
    // PWA 插件相關(guān)配置
    // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
    pwa: {},
    // webpack-dev-server 相關(guān)配置
    devServer: {
        open: process.platform === 'darwin',
        host: '0.0.0.0',
        port: 8080,
        https: false,
        hotOnly: false,
        // proxy: {
        //     // 設(shè)置代理
        //     // proxy all requests starting with /api to jsonplaceholder
        //     'http://localhost:8080/': {
        //         target: 'http://baidu.com:8080', //真實請求的目標(biāo)地址
        //         changeOrigin: true,
        //         pathRewrite: {
        //             '^http://localhost:8080/': ''
        //         }
        //     }
        // },
        before: (app) => {}
    },
    // 第三方插件配置
    pluginOptions: {
        // ...
    }
};

(5)當(dāng)然如果你不想用3.0的話谨履,還是可以拉取 2.x 模板 (舊版本),參考官網(wǎng):

Vue CLI >= 3 和舊版使用了相同的 vue 命令熬丧,所以 Vue CLI 2 (vue-cli) 被覆蓋了笋粟。如果你仍然需要使用舊版本的 vue init 功能,你可以全局安裝一個橋接工具:

npm install -g @vue/cli-init
# `vue init` 的運行效果將會跟 `vue-cli@2.x` 相同
vue init webpack my-project

二析蝴、vue項目里面到底是些啥害捕?該如何理解?

(1) 其實我感覺最重要的實操部分就是src文件夾中的文件了闷畸,其余部分就是為了項目更方便管理運行下去的配置文件尝盼。


src中文件的介紹

(2) App.vue/main.js/router文件夾中的router.js聯(lián)系


三者聯(lián)系介紹

不得不說vue的奧妙之處 ,可能一開始有些難理解佑菩,但只要理解了會非常好用盾沫,輕便裁赠。

main.js中,比如你想引一個element的ui庫赴精,你可以在這里面配置
這是element-ui的官方地址

main.js中

有的人生成的main.js可能不一樣佩捞,但作用其實是一樣的
因為在Vue構(gòu)造函數(shù)時,需要配置一個el屬性蕾哟,如果沒有沒有el屬性時一忱,可以使用.$mount('#app')進行掛載。


main.js

App.vue中谭确,我覺得最重要的就是<router-view />

App.vue

有人可能又要問帘营,首頁的話我想顯示其他內(nèi)容,并不想在App.vue中寫過多的東西逐哈,那如何處理呢芬迄?
只需要在router文件中配置好就ok啦!只要讓訪問 / 路由的人跳轉(zhuǎn)到首頁就可以啦鞠眉,下面是我的一個例子薯鼠,在home.vue中是各個組件的拼接的導(dǎo)航欄,index.vue是主頁:


router.js

這里關(guān)于路由我可能講的不太詳細械蹋,之后會在介紹路由的時候詳細的講出皇。這就是大概的項目框架的樣子。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哗戈,一起剝皮案震驚了整個濱河市郊艘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唯咬,老刑警劉巖纱注,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胆胰,居然都是意外死亡狞贱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門蜀涨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瞎嬉,“玉大人,你說我怎么就攤上這事厚柳⊙踉妫” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵别垮,是天一觀的道長便监。 經(jīng)常有香客問我,道長碳想,這世上最難降的妖魔是什么烧董? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任毁靶,我火速辦了婚禮,結(jié)果婚禮上解藻,老公的妹妹穿的比我還像新娘老充。我一直安慰自己,他們只是感情好螟左,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布啡浊。 她就那樣靜靜地躺著,像睡著了一般胶背。 火紅的嫁衣襯著肌膚如雪巷嚣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天钳吟,我揣著相機與錄音廷粒,去河邊找鬼。 笑死红且,一個胖子當(dāng)著我的面吹牛坝茎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暇番,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼嗤放,長吁一口氣:“原來是場噩夢啊……” “哼毯欣!你這毒婦竟也來了悔叽?” 一聲冷哼從身側(cè)響起版仔,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤黍氮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后羽氮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矿筝,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡吆视,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年希俩,在試婚紗的時候發(fā)現(xiàn)自己被綠了吊宋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡颜武,死狀恐怖贫母,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盒刚,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布绿贞,位于F島的核電站因块,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏籍铁。R本人自食惡果不足惜涡上,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一趾断、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吩愧,春花似錦芋酌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至糖权,卻和暖如春堵腹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背星澳。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工疚顷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人禁偎。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓腿堤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親如暖。 傳聞我的和親對象是個殘疾皇子笆檀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容