當前位置:
首頁 > 最新 > 使用 Hbuild 快速構建生成現代化前端項目

使用 Hbuild 快速構建生成現代化前端項目

在前端項目日漸複雜的今天,搭建腳手架,配置項目環境等都有著一定的成本,有沒有更簡單且一勞永逸的方法呢?

Hbuild是一套結合cli命令行以及項目模板的工具,通過命令行的方式實現快速構建,使得整套開發的成本大為下降,同時它還提供了三套項目模板(h5,vue全家桶,React),可在本地環境自由定製。(由於時間原因,react全家桶,更多的模板引擎,預處理器等後續支持)

Hbuild使用

hbuild-cli

命令行工具,全局註冊後可快速生成項目啟動套件。你可以使用Hbuild生成一個h5項目,或者vue項目(默認搭配vue-router,可自由選擇vuex),或者react項目。該套件包含如下特點:

Features

Vue2 / Vue-Router / Vuex

Hot reloading for single-file components

Webpack 2

ES6

LESS

SASS

React

zepto

autoprefixer

mock server

eslint

Support for building multi-page applications

offline mode support

file hash

其中zepto是默認全局引入的,可直接使用。h5項目默認引入ejs模板引擎。默認支持Babel轉碼。支持HMR。支持文件hash,以解決緩存問題。

Get Started

You"d better have node >=4 and npm >=3 and gulp >=3.9 installed:

$ npm install -g hbuild-cli $ hbuild init new-project $ //or use $ h init new-project //support short command$ cd new-project $ npm install || yarn# edit files and start developing$ npm run dev# bundle all scripts and styles for production use$ npm run prod# lint your js code$ npm run eslint

Local Templates

when you clone this project,you can use a template on your local file system:

命令

$ npm run dev;//本地開發模式,連接mock數據$ npm run dev-daily;//本地開發模式,連接daily日常環境數據$ npm run dev-pre;//本地開發模式,連接預發環境數據$ npm run daily;//線上日常構建模式,連接daily日常環境數據$ npm run pre;//線上預發構建模式,連接預發環境數據$ npm run prod;//線上構建模式,連接線上環境數據$ npm run eslint;//js代碼審查,默認檢查除lib文件夾下的js代碼

使用如下命令行快速生成前端項目啟動套件:

編譯

1.js代碼默認採用Babel編譯,webpack打包構建。

2.編譯後的html文件默認輸出到

build/pages

目錄下,html文件名採用其在

src/pages

下的父級目錄的文件名

3.編譯後的靜態資源文件(圖片,字體,js文件等)存放到

build/static

目錄下,編譯支持文件hash,解決緩存問題

4.支持代碼熱替換,熱替換失敗會自動刷新整個頁面

HTML

1.h5項目的頁面默認採用ejs模板引擎和zepto,可直接使用。

2.當你執行發布線上的命令時,html和js代碼會被壓縮

3.當你在pages下新建一個目錄時,html文件需要手動配置一下靜態資源的引用

CSS

1.支持css預處理器LESS和SASS,後續逐步支持其他css處理器

2.默認採用

css-in-js

的方式,可在

文件中配置是否單獨提取css,提取出的css文件名稱默認為:

[name].extract.css

3.支持 屏幕適配方案,採用

media-query+rem

的方式,默認在

common.less

文件中

4.支持postcss和

autoprefixer

其他

mock:mock 數據只需要介面URI路徑和mock目錄保持一致即可

介面:介面如需根據環境來替換,需在

文件和

common/js/config

文件進行配置

支持多入口文件,可在pages下新建目錄,文件名需以index開頭

字元串替換:

$$_CDNPATH_$$

會被編譯替換為

build/static/hash串

目錄

入口文件:腳手架默認會讀取pages目錄下的index開頭的js文件為入口文件,名稱是寫死的

修改默認文件夾的名稱,需要在

文件就對應文件變數做修改

提取CSS以及sourceMap功能只在非開發模式下進行。

目錄結構

.

├── README.md

├── gulpfile.js # gulp文件

├── mock # mock數據目錄,保持和介面一樣的路徑即可

│ └── h5

├── package.json

├── src # 源文件

│ ├── assets # 靜態資源目錄,存放圖片或字體

│ │ └── logo.ico

│ ├── common # 共用代碼目錄,css目錄存放公用css部分,js同理

│ │ ├── css

│ │ │ ├── common.less

│ │ │ └── common.scss

│ │ └── js

│ │ ├── api.js # api文件

│ │ ├── config.js # 配置文件

│ │ └── util.js # 工具函數文件,可將公用方法存放於此

│ ├── components # 組件

│ │ ├── counter # 計數器vue組件

│ │ │ └── index.vue

│ │ ├── index # vue組件的入口文件

│ │ ├── meta # h5 meta頭部信息模塊

│ │ │ └── index.html

│ │ ├── router # vue路由模塊

│ │ │ └── router.js

│ │ └── store # vuex store模塊

│ │ └── store.js

│ ├── lib # 第三方庫

│ └── pages # 頁面

│ └── index # 首頁目錄,可在pages目錄下新建多個目錄結構,作為多入口文件

│ ├── index.html

│ ├── index.js # index.js/index.jsx文件為webpack的入口文件

│ ├── index.jsx

│ ├── index.less # 樣式文件在js文件中引入,可設置是否提取出css文件

│ ├── index.scss

│ └── module # 頁面模板模塊,可在index.js/jsx文件引入該模塊文件

│ ├── main.jsx

└── yarn.lock

歡迎大家加入相互學習交流!共同進步!

我個人微信公眾號:歡迎大家關注下:

名稱:U世界的V夢想

二維碼:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 U世界的V夢想 的精彩文章:

TAG:U世界的V夢想 |

您可能感興趣

使用以 Tensorflow 為後端的 Keras 構建生成對抗網路的代碼示例
自動生成高效DNN,適用於邊緣設備的生成合成工具FermiNets
學界 | 自動生成高效DNN,適用於邊緣設備的生成合成工具FermiNets
React代碼生成器
Google Brain提出新型生成建模演算法MemGEN:只需記憶,性能突出
送給前端的你:可視化快速生成模擬數據服務——Easy Mock
TensorFlow官方力推、GitHub爆款項目:用Attention模型自動生成圖像字幕
ASWCrypter:該工具生成的Payload可以繞過目前所有的反病毒產品
使用 Lets Encrypt 生成免費的 SSL 證書
正經的我,做了個不正經的項目 —— Pornhub 風格 Logo 生成器
Oculus Home將推出多人遊戲和用戶生成內容
OpenAI「假新聞」生成器GPT-2的最簡Python實現
用 Pandoc 生成一篇調研論文
CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解
Mybatis+velocity自動生成代碼
C代碼不用寫了!可以一鍵生成了!——Element Studio 重大升級
Pelican 入門:一個 Python 靜態網站生成器
Additive Works推出用於生成3D列印支撐的新Amphyon模塊
Linux密碼生成器
SpringMVC,Spring,Hibernate框架自動生成器