摘要:使用快速构建现代化应用使用命令行工具,全局注册后可快速生成项目启动套件。该套件包含如下特点其中是默认全局引入的,可直接使用。
使用hbuild快速构建现代化web应用
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转码。支持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;//本地开发模式,连接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编译,gulp + webpack打包构建。
2.编译后的html文件默认输出到build/pages目录下,html文件名采用其在src/pages下的父级目录的文件名
3.编译后的静态资源文件(图片,字体,js文件等)存放到build/static目录下,编译支持文件hash,解决缓存问题
4.支持代码热替换,热替换失败会自动刷新整个页面
5.开发模式不对代码进行压缩,sourceMap 只针对非开发模式有效(not dev)
6.支持图片压缩
HTML和模板引擎1.h5项目支持 ejs ,mustache和art-template模板引擎,默认支持zepto
2.非本地开发环境,html,js和css代码会被压缩
3.当你在pages下新建一个目录时,html文件需要手动配置一下静态资源的引用,例如在index目录下:
CSS和预处理器1.支持css预处理器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 数据只需要接口URI路径和mock目录保持一致即可
接口:接口如需根据环境来替换,需在hbuild.config.js文件和common/js/config文件进行配置
支持多入口文件,可在pages下新建目录,文件名需以index开头
字符串替换:$$_CDNPATH_$$会被编译替换为build/static/hash目录,$$_STATICPATH_$$会被替换为build/static/hash/assets
入口文件:脚手架默认会读取pages目录下的index开头的js文件为入口文件,名称是写死的
修改默认文件夹的名称,需要在hbuild.config.js文件就对应文件变量做修改
目录结构. ├── README.md ├── build # 构建工具目录 │ └── gulpfile.js # gulp文件 │ └── postcss.config.js # postcss配置文件 │ └── util.js # gulp脚手架工具方法 │ └── hbuild.config.js # 脚手架配置文件 ├── 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组件的入口文件 │ │ │ └── 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 │ └── main.tpl.html └── yarn.lockChangeLog
changelog
LicenseMIT © hawx1993
项目地址https://github.com/hawx1993/h... 欢迎star or issue
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/83142.html
摘要:而是不会生成文件夹以及那些静态文件的,也就是说没有生成物理文件,而是放在了内存中,我们是没有办法拿到这些静态文件的。首先现在项目中安装一下该插件,。这时如果打开项目进行开发,比如修改了,只需要保存一下,就会在手机上看到更改后的效果。 如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程...
摘要:而是不会生成文件夹以及那些静态文件的,也就是说没有生成物理文件,而是放在了内存中,我们是没有办法拿到这些静态文件的。首先现在项目中安装一下该插件,。这时如果打开项目进行开发,比如修改了,只需要保存一下,就会在手机上看到更改后的效果。 如何优雅的使用vue+Dcloud(Hbuild)开发混合app 最近在做混合app,前端框架用的是vue,打包app使用的是Dcloud,不过在开发过程...
摘要:一个专为构建现代应用而生的框架是一个强大灵活的框架。与其他框架有什么不同速度和简单。本文也对这个当今最流行之一的框架做了一个明确的介绍。到本系列的最后部分,你会感觉到用从头开始编写一个完整的应用是多么的舒服。 一个专为构建现代PHP应用而生的Web框架 Laravel是一个强大、灵活的PHP框架。它有非常活跃的社区和工具生态系统。因此它越来越吸引人。Laravel的文档写的也是非常的详...
摘要:宣布一个快速,零配置的应用打包工具原文译者今天,我非常高兴地宣布,一个快速,零配置的应用程序打包工具,我对于该工具的工作已经持续了几个月。性能我被激发建立一个新的打包工具的第一个原因是性能。 ? 宣布 Parcel:一个快速,零配置的 Web 应用打包工具 ? 原文:? Announcing Parcel: A blazing fast, zero configuration web...
阅读 3607·2021-10-09 09:58
阅读 1133·2021-09-22 15:20
阅读 2454·2019-08-30 15:54
阅读 3471·2019-08-30 14:08
阅读 857·2019-08-30 13:06
阅读 1776·2019-08-26 12:16
阅读 2628·2019-08-26 12:11
阅读 2463·2019-08-26 10:38