a JasonLiao project: jsl-vue-h5
自己纯手工打造的一些轮子,一个vue的H5插件库, 按照375px宽度的UI图构建, 会转换为vw, 可按需引入,welcome npm install and happy hacking ~☺️
npm site: https://www.npmjs.com/package/jsl-vue-h5
demo online: https://atbulbs.github.io/jsl-vue-h5-demo-online/
code demo: https://github.com/atbulbs/jsl-vue-h5-demo
¶install
1 | $ npm install jsl-vue-h5 --save |
¶import and use it
1 | // main.js |
¶documentation
¶jsl-toast
1 | this.$jsl.toast(text, position, duaration) |
params | type | remark | default value |
---|---|---|---|
text | String | toast内容 | ‘toast’ |
position | String | toast位置, 可选 ‘top’, ‘middle’, ‘bottom’ | ‘middle’ |
duartion | Number | toast展示的毫秒数 | 2500 |
1 | <template> |
¶jsl-grid
API
props | type | remark | default value |
---|---|---|---|
width | Number | 栅格组件的宽 | 375 |
height | Number | 栅格组件的高 | 375 |
row | Number | 栅格组件的行数 | 4 |
column | Number | 栅格组件的列数 | 5 |
demo code
1 | <template> |
¶jsl-btn-scalable-jump
API
props | type | remark | default value |
---|---|---|---|
toPage | undefined | 若为Number, 则go(num), 若为String, 则push此路由 | 375 |
query | Object | 路由跳转携带的参数对象, 会拼接为查询字符串 | undefined |
text | String | 按钮的文字 | ‘btn-scalable-jump’ |
fontSize | Number | 按钮的文字大小 | 14 |
color | String | 按钮的文字颜色 | 14 |
bgImg | String | 按钮的背景图 | undefined |
bgColor | String | 按钮的背景颜色 | ‘#517DF7’ |
radius | Number | 按钮的边框倒角弧度 | 12 |
width | Number | 按钮的宽度 | 200 |
height | Number | 按钮的高度 | 50 |
lineHeight | Number | 按钮的文字行度 | 50 |
top | Number | 按钮绝对定位的top值 | 50 |
left | Number | 按钮绝对定位的lef值 | window.Number((375 / 2).toFixed(5)) |
demo code
1 | <template> |
¶jsl-avatar
API
props | type | remark | default value |
---|---|---|---|
size | Number | 头像的尺寸 | 25 |
img | String | 头像的图片链接 | ‘https://avatars2.githubusercontent.com/u/31515577?s=460&v=4’ |
demo code
1 | <template> |
¶jsl-button
API
props | type | remark | default value |
---|---|---|---|
width | Number | 按钮宽度 | 375 |
height | Number | 按钮高度 | 57 |
radius | Number | 按钮边框倒角弧度 | 30 |
text | String | 按钮文字 | ‘按钮’ |
color | String | 按钮文字颜色 | ‘#FCFCFC’ |
fontSize | Number | 按钮文字大小 | 16 |
bgColor | String | 按钮背景颜色 | ‘#517DF7’ |
demo code
1 | <template> |
¶jsl-close
API
props | type | remark | default value |
---|---|---|---|
size | Number | 关闭图标尺寸 | 15 |
circle | Boolean | 关闭图标是否带圆圈 | false |
demo code
1 | <template> |
¶jsl-loading
API
props | type | remark | default value |
---|---|---|---|
rootWidth | Number | 组件的宽度 | 250 |
rootHeight | Number | 组件的高度 | 250 |
rootTop | Number | 组件相对已定位父级的top | 157 |
imgUrl | String | 图片资源 | 经典的菊花图 |
imgSize | Number | 图片的高宽 | 35 |
imgMargin | String | 图片的margin | ‘5vw auto’ |
infoContent | String | 文字信息 | ‘正在加载数据…’ |
infoColor | String | 文字颜色 | ‘#333’ |
infoFontSize | Number | 文字大小 | 14 |
infoHeight | Number | 文字高度 | 25 |
infoLineHeight | Number | 文字行高 | 25 |
demo code
1 |
|
¶jsl-nav-bar
API
props | type | remark | default value |
---|---|---|---|
title | String | 导航条的标题 | ‘导航条’ |
demo code
1 | <template> |
¶jsl-nomore-tip
API
props | type | remark | default value |
---|---|---|---|
text | String | 文字内容 | ‘亲,我们是有底线的哦~’ |
lineWidth | Number | 细线的长度 | 34 |
demo code
1 | <template> |
¶开发与发布的爬坑姿势
生产时入口文件 src/components/index.js
1 | import 'styles/components/index' |
webpack prod entry config
1 | const entryConfig = { |
webpack prod output config
1 | const outputConfig = { |
webpack prod externals config
1 | const externals = { |
webpack prod plugin config
1 | const prodPlugins = [ |
package.json配置如下
1 | { |
本地开发完成后
1 | # 打包 |
若npm源为淘宝镜像, 需要切换源为 https://registry.npmjs.org/
1 | # 查看npm源 |
需要先注册登录npm, 再发布
1 | # 登录, 填写用户名, 密码, 邮箱 |
每次发布时, 需要使用新的版本号, 修改package.json里的version, 或者删除之前的版本号再发布
¶tip: webpack config
1 | // dev config > module > rules |