ES6基礎(chǔ)——環(huán)境構(gòu)建、任務(wù)自動(dòng)化、服務(wù)器搭建

ES6基礎(chǔ)——環(huán)境構(gòu)建

1. 為什么學(xué)習(xí) ES6 需要構(gòu)建環(huán)境

1. 因?yàn)?ES6 一些語法, 在瀏覽器中是不能直接運(yùn)行的 。

2. 環(huán)境構(gòu)建內(nèi)容:

1. 基礎(chǔ)架構(gòu)
   1. 項(xiàng)目需要放置那些目錄 。
   2. 那些目錄放置那些文件 。
   3. 思考為什么這樣放, 它的合理性在哪里 。
   4. 結(jié)合模塊化的思想, 如何去創(chuàng)建一個(gè)前端項(xiàng)目的架構(gòu)組成 。
   
2. 任務(wù)自動(dòng)化 (gulp)
   1. 簡單來說就是自動(dòng)化編譯, 如 sass/less 自動(dòng)編譯為 css 。
   
3. 編譯工具 (babel / webpack)
   1. 自動(dòng)化需要編譯工具去完成 。
   
4. 代碼實(shí)現(xiàn)
     1. 由于代碼太多在下面會(huì)有專門的一篇文章去展示代碼以及解說代碼的含義 。
   

3. 任務(wù)自動(dòng)化 gulp:

1. 什么是任務(wù)自動(dòng)化
   1. 減少人工操作, 讓機(jī)器監(jiān)聽我們所有的操作, 讓其自動(dòng)響應(yīng) 。
   
2. 什么是 gulp
   1. 通俗來說就是一個(gè)解決自動(dòng)化的一個(gè)工具 。
   2. gulp 通過 stream 流的方式, 操作文件非常的快 。
  
3. gulp 的作用
   1. 完成自動(dòng)化, 幫助我們工作流程順利完成 。
   
4. 了解如何使用 gulp 完成任務(wù)自動(dòng)化
   1. 去 gulp 中文網(wǎng)了解 API
   2. 了解 gulp 配合使用的插件 。
   

4. 編譯工具:

1. 什么是 babel 、 webpack
   1. babel: 可以理解為 JavaScript 的編譯器(ES6 是不能直接在瀏覽器上運(yùn)行的, 它需要編譯, 而編譯的工具就是 babel);
   2. webpack: 解決模塊化 。
   
2. babel 的核心用法
   1. 解決兼容性問題 、 如何做編譯 、 應(yīng)該引用那些包 。
   
3. 了解 webpack 以及 webpack-stream 的作用
   1. webpack-stream 是對 gulp 的一個(gè)支持插件; gulp 是通過二進(jìn)制流的方式去操作的, webpack 在 gulp 上使用的就是 webpack-stream 去操作的 。
   

5. 環(huán)境構(gòu)建的具體思路:

1. 完成目錄結(jié)構(gòu)
2. 自動(dòng)構(gòu)建
3. 服務(wù)器搭建
如圖所示:
01-01.png

5.1 構(gòu)建思路 構(gòu)建 3 個(gè)版塊

1. 構(gòu)建思路 構(gòu)建 3 個(gè)版塊 。
   1. 放置我們前端代碼這一塊 -- app ; 包括 js/css/以及一些模板 。
      1. css: 放置 .CSS 文件目錄
      2. js: 放置 .JS 文件目錄
         1. class: 放置 '類' 文件目錄
            1. test.js: 初始類文件
         2. index.js: 初始入口文件
      3. views: 放置 .html 模板目錄
         1. error.ejs: 初始錯(cuò)誤模板文件
         2. index.ejs: 初始入口模板文件
            1. 使用 .ejs 文件而不是使用 .html 文件, 是因?yàn)閯?chuàng)建服務(wù)器的代碼是通過 express nodeJS 框架來做的; express 它所使用的引擎就是 .ejs 模板引擎 。

   2. 放置服務(wù)器代碼 -- server; 提供我們真實(shí)的數(shù)據(jù) 。
      1. 我們在創(chuàng)建 server 的過程中需要使用一個(gè)工具, 即 express 腳手架工具(使用 express 的前提是已經(jīng)安裝了 nodeJS) 。
      2. Node.js 安裝包網(wǎng)址: http://nodejs.cn/download/
      3. express 腳手架使用流程:
         1. express -e . : express 腳手架啟動(dòng)命令; -e 表示我要使用 ejs 模板引擎; . 表示在當(dāng)前目錄執(zhí)行 。
         2. 在當(dāng)前目錄執(zhí)行 cnpm i (此時(shí)服務(wù)代碼已經(jīng)安裝完成)。
   3. 前端代碼編譯, 服務(wù)器定時(shí)刷新 '構(gòu)建工具'-- tasks; 起到一個(gè)輔助作用的模塊 。
      1. 在當(dāng)前目錄創(chuàng)建一些任務(wù)的 .js 文件: 文件的合并 、 腳本的編譯 、 模板的自動(dòng)更新 。

如圖所示:
02-01.png

5.2. 創(chuàng)建一個(gè) package.json 文件

1. 創(chuàng)建方法:
   1. 手動(dòng)創(chuàng)建
   2. 自動(dòng)創(chuàng)建
      1. cnpm init (初始化 package.json 文件);
      2. 當(dāng)這個(gè)文件創(chuàng)建完成之后, 我們就可以通過 cnpm i 來安裝我們需要的依賴包 。
      

5.3 創(chuàng)建一個(gè)設(shè)置 babel 編譯工具的配置文件

1. 命令行操作: touch .babelrc
   1. .babelrc 文件名是固定的, 我們不能隨便修改, 因?yàn)?babel 進(jìn)行編譯的時(shí)候會(huì)自動(dòng)尋找 .babelrc 文件, 如果沒有找到就無法讀取配置內(nèi)容 。
   

5.4 創(chuàng)建一個(gè) gulp 配置文件

1. 命令行操作: touch gulpfile.babel.js
   1. 為什么沒有按照官網(wǎng)去創(chuàng)建一個(gè) gulpfile.js 文件, 而是創(chuàng)建了一個(gè) gulpfile.babel.js 文件; 這是因?yàn)槲覀兊捻?xiàng)目使用的都是 ES6 語法, 如果這里不使用 gulpfile.babel.js 的話, 那么在執(zhí)行 gulp 腳本的時(shí)候, 它是會(huì)報(bào)錯(cuò)的 。

2. 安裝 express-generator 腳手架
   1. sudo cnpm install -g express-generator
   2. express --version 檢測安裝是否成功 。
   

6. 知識點(diǎn)擴(kuò)展: Mac 命令行使用積累

1. mkdir name  創(chuàng)建文件夾
2. touch name  創(chuàng)建文件
3. cd ../name/
4. express -e .
5. cd . && npm install
6. cd . 當(dāng)前目錄

之前有整理過部分知識點(diǎn), 現(xiàn)在將整理的相關(guān)內(nèi)容, 驗(yàn)證之后慢慢分享給大家; 這個(gè)專題是 “前端ES6基礎(chǔ)” 的相關(guān)專欄; 不積跬步,無以至千里, 戒焦戒躁 。

如果對你有所幫助,喜歡的可以點(diǎn)個(gè)關(guān)注; 文章會(huì)持續(xù)打磨 。

有什么想要了解的前端知識嗎? 可以評論區(qū)留言, 會(huì)及時(shí)跟進(jìn)分享所相關(guān)內(nèi)容 。

整理知識點(diǎn)不易, 每次都是在工作繁忙之余夜深人靜之時(shí)整理, 無論知識點(diǎn)是大是小, 都會(huì)驗(yàn)證后再分享, 以防自己發(fā)表的文章給大家造成誤導(dǎo) 。如有問題還望不吝賜教,本人會(huì)及時(shí)更改 (本文原創(chuàng), 如需轉(zhuǎn)載,請注明出處) 。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容