摘要:使用快速構(gòu)建現(xiàn)代化應(yīng)用使用命令行工具,全局注冊后可快速生成項目啟動套件。該套件包含如下特點其中是默認全局引入的,可直接使用。
使用hbuild快速構(gòu)建現(xiàn)代化web應(yīng)用
Hbuild使用hbuild-cli命令行工具,全局注冊后可快速生成項目啟動套件。你可以使用Hbuild生成一個h5項目,或者vue項目(默認搭配react-router,可自由選擇vuex),或者react項目。該套件包含如下特點:
FeaturesVue2 / Vue-Router / Vuex (optional)
Hot reloading for single-file components
Webpack 2
babel (default)
LESS/SASS/Stylus (optional)
ejs/mustache/art-template (optional)
React / React-Router (optional)
zepto
autoprefixer (vue support)
mock server
eslint
Support for building multi-page applications
offline mode support
file hash
其中zepto是默認全局引入的,可直接使用。h5項目可以選擇ejs,mustache或art-template模板引擎。 默認支持Babel轉(zhuǎn)碼。支持HMR。支持文件指紋。
vue項目默認支持vue-router,react項目默認支持react-router
Get StartedYou"d better have node >=6 and npm >=3 and gulp >=3.9 installed:
$ npm install -g hbuild-cli $ h init new-project # 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 eslintLocal Templates
when you clone this project,you can use a template on your local file system:
$ git clone git@github.com:hawx1993/hbuild.git $ h init ./hbuild new-project命令
$ npm run dev;//本地開發(fā)模式,連接mock數(shù)據(jù) $ npm run dev-daily;//本地開發(fā)模式,連接daily日常環(huán)境數(shù)據(jù) $ npm run dev-pre;//本地開發(fā)模式,連接預(yù)發(fā)環(huán)境數(shù)據(jù) $ npm run daily;//線上日常構(gòu)建模式,連接daily日常環(huán)境數(shù)據(jù) $ npm run pre;//線上預(yù)發(fā)構(gòu)建模式,連接預(yù)發(fā)環(huán)境數(shù)據(jù) $ npm run prod;//線上構(gòu)建模式,連接線上環(huán)境數(shù)據(jù) $ npm run eslint;//js代碼審查,默認檢查除lib文件夾下的js代碼編譯
1.js代碼默認采用Babel編譯,gulp + webpack打包構(gòu)建。
2.編譯后的html文件默認輸出到build/pages目錄下,html文件名采用其在src/pages下的父級目錄的文件名
3.編譯后的靜態(tài)資源文件(圖片,字體,js文件等)存放到build/static目錄下,編譯支持文件hash,解決緩存問題
4.支持代碼熱替換,熱替換失敗會自動刷新整個頁面
5.開發(fā)模式不對代碼進行壓縮,sourceMap 只針對非開發(fā)模式有效(not dev)
6.支持圖片壓縮
HTML和模板引擎1.h5項目支持 ejs ,mustache和art-template模板引擎,默認支持zepto
2.非本地開發(fā)環(huán)境,html,js和css代碼會被壓縮
3.當你在pages下新建一個目錄時,html文件需要手動配置一下靜態(tài)資源的引用,例如在index目錄下:
CSS和預(yù)處理器1.支持css預(yù)處理器LESS、SASS和stylus (optional);
2.默認采用css-in-js的方式,可在hbuild.config.js文件中配置是否多帶帶提取css,提取出的css文件名稱默認為:[name].css,name為src下less/scss/stylus文件名
3.開啟提取css文件,需要在HTML中引入,引入方式同js
4.支持 屏幕適配方案,采用media-query+rem的方式,默認在common.less文件中
5.支持postcss和autoprefixer
代碼檢查1.npm run eslint 支持vue單文件組件,支持es6語法檢查
其他mock:mock 數(shù)據(jù)只需要接口URI路徑和mock目錄保持一致即可
接口:接口如需根據(jù)環(huán)境來替換,需在hbuild.config.js文件和common/js/config文件進行配置
支持多入口文件,可在pages下新建目錄,文件名需以index開頭
字符串替換:$$_CDNPATH_$$會被編譯替換為build/static/hash目錄,$$_STATICPATH_$$會被替換為build/static/hash/assets
入口文件:腳手架默認會讀取pages目錄下的index開頭的js文件為入口文件,名稱是寫死的
修改默認文件夾的名稱,需要在hbuild.config.js文件就對應(yīng)文件變量做修改
目錄結(jié)構(gòu). ├── README.md ├── build # 構(gòu)建工具目錄 │ └── gulpfile.js # gulp文件 │ └── postcss.config.js # postcss配置文件 │ └── util.js # gulp腳手架工具方法 │ └── hbuild.config.js # 腳手架配置文件 ├── mock # mock數(shù)據(jù)目錄,保持和接口一樣的路徑即可 │ └── h5 ├── package.json ├── src # 源文件 │ ├── assets # 靜態(tài)資源目錄,存放圖片或字體 │ │ └── logo.ico │ ├── common # 共用代碼目錄,css目錄存放公用css部分,js同理 │ │ ├── css │ │ │ ├── common.less │ │ │ └── common.scss │ │ └── js │ │ ├── api.js # api文件 │ │ ├── config.js # 配置文件 │ │ └── util.js # 工具函數(shù)文件,可將公用方法存放于此 │ ├── components # 組件目錄 │ │ ├── counter # 計數(shù)器vue組件 │ │ │ └── index.vue │ │ ├── index # vue組件的入口文件 │ │ │ └── index.vue │ │ ├── meta # h5 meta頭部信息模塊 │ │ │ └── index.html │ │ ├── router # vue路由模塊 │ │ │ └── router.js │ │ └── store # vuex store模塊 │ │ └── store.js │ ├── lib # 第三方庫 │ └── pages # 頁面 │ └── index # 首頁目錄,可在pages目錄下新建多個目錄結(jié)構(gòu),作為多入口文件 │ ├── index.html │ ├── index.js # index.js/index.jsx文件為webpack的入口文件 │ ├── index.jsx │ ├── index.less # 樣式文件在js文件中引入,可設(shè)置是否提取出css文件 │ ├── index.scss │ └── module # 頁面模板模塊,可在index.js/jsx文件引入該模塊文件 │ ├── main.jsx │ └── main.tpl.html └── yarn.lockChangeLog
changelog
LicenseMIT ? hawx1993
項目地址https://github.com/hawx1993/h... 歡迎star or issue
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/83142.html
摘要:而是不會生成文件夾以及那些靜態(tài)文件的,也就是說沒有生成物理文件,而是放在了內(nèi)存中,我們是沒有辦法拿到這些靜態(tài)文件的。首先現(xiàn)在項目中安裝一下該插件,。這時如果打開項目進行開發(fā),比如修改了,只需要保存一下,就會在手機上看到更改后的效果。 如何優(yōu)雅的使用vue+Dcloud(Hbuild)開發(fā)混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不過在開發(fā)過程...
摘要:而是不會生成文件夾以及那些靜態(tài)文件的,也就是說沒有生成物理文件,而是放在了內(nèi)存中,我們是沒有辦法拿到這些靜態(tài)文件的。首先現(xiàn)在項目中安裝一下該插件,。這時如果打開項目進行開發(fā),比如修改了,只需要保存一下,就會在手機上看到更改后的效果。 如何優(yōu)雅的使用vue+Dcloud(Hbuild)開發(fā)混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不過在開發(fā)過程...
摘要:一個專為構(gòu)建現(xiàn)代應(yīng)用而生的框架是一個強大靈活的框架。與其他框架有什么不同速度和簡單。本文也對這個當今最流行之一的框架做了一個明確的介紹。到本系列的最后部分,你會感覺到用從頭開始編寫一個完整的應(yīng)用是多么的舒服。 一個專為構(gòu)建現(xiàn)代PHP應(yīng)用而生的Web框架 Laravel是一個強大、靈活的PHP框架。它有非?;钴S的社區(qū)和工具生態(tài)系統(tǒng)。因此它越來越吸引人。Laravel的文檔寫的也是非常的詳...
摘要:宣布一個快速,零配置的應(yīng)用打包工具原文譯者今天,我非常高興地宣布,一個快速,零配置的應(yīng)用程序打包工具,我對于該工具的工作已經(jīng)持續(xù)了幾個月。性能我被激發(fā)建立一個新的打包工具的第一個原因是性能。 ? 宣布 Parcel:一個快速,零配置的 Web 應(yīng)用打包工具 ? 原文:? Announcing Parcel: A blazing fast, zero configuration web...
閱讀 3731·2021-10-09 09:58
閱讀 1362·2021-09-22 15:20
閱讀 2578·2019-08-30 15:54
閱讀 3665·2019-08-30 14:08
閱讀 976·2019-08-30 13:06
閱讀 1900·2019-08-26 12:16
閱讀 2768·2019-08-26 12:11
閱讀 2589·2019-08-26 10:38