uniapp分包
当众人都哭时,应该允许有的人不哭。当哭成为一种表演时,更应该允许有的人不哭。——莫言 我们在使用uniapp进行微信小程序开发时可能会遇到如下情况: 这是因为微信小程序官方文档提到: 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。 在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。 在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。 目前小程序分包大小有以下限制: 整个小程序所有分包大小不超过 20M 单个分包/主包大小不能超过 2M 对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。 此时可以进行简单的静态资源处理,将static目录下的图片之类的压缩或者放到在线图床上 如果在这样处理后还是提示超...
vue项目启动后自动打开
我见青山多妩媚,料青山见我应如是。――辛弃疾《贺新郎》 找到项目路径下的package.json 在scripts下的serve后面加上--open即可
vue父组件调用子组件方法
抱怨身处黑暗,不如提灯前行。——刘同 首先是官方文档 这里使用ref属性去访问子元素 1<hello-world ref="helloWorld" msg="Hello World"></hello-world> 然后打印一下 1console.log(this.$refs.helloWorld); 可以看到成功获取到 再到子组件定义一个方法: 父组件访问: 效果:
nvue坑
人之所以走入迷途,并不是由于他的无知,而是由于他自以为知。——卢梭 《爱弥儿》 前两天用nvue踩了不少坑,例如之前写的nvue引入图标坑就是一个 例如manifest.json中这里需要配置为weex才能使用weex渲染 uniapp-nvue文档 weex文档 要注意这里 基本上是nvue的一些常见的坑 还有其他的一些,例如一些不支持的css写法如transition 如果写成transition: 1s;则会提示 当然transition: all 1s;也不行 只能针对对应的过渡去写: 12transition-property: width;transition-duration: 1s; 缩写就是: 1transition: width 1s linear 2s; 一般像不支持的全局属性,需要写在条件编译里 12345678910.logo { height: 0; width: 0; /* #ifndef APP-PLUS-NVUE */ transition: all 1s; /* #endif */ /* #ifdef APP-PLUS...
lombok注解
秣秩斯干,幽幽南山。如竹苞矣,如松茂矣。——《诗经》 首先是官方文档,列举了所有注解 常用的我就不聊了,这里上代码聊聊不咋常用的 首先是@Cleanup注解,能够自动关闭流 12345678910111213public static String readFile(File file) throws Exception { StringBuilder builder = new StringBuilder(); @Cleanup InputStream is = new FileInputStream(file); String line; @Cleanup BufferedReader reader = new BufferedReader(new InputStreamReader(is)); line = reader.readLine(); while (line != null) { builder.append(line); builder.append("\n&quo...
花里胡哨的peeks
莫见乎隐,莫显乎微,故君子慎其独也。一一《礼记》 今天又给hutool提交了PR,将前两天写的动态函数式参数用了起来 https://gitee.com/dromara/hutool/pulls/445 [新特性]你啊,总能给我整出点新花样 【以前使用peek】 1Opt.ofNullable("hutool").peek(user::setUsername).peek(user::setNickname); 【现在使用peeks】 1Opt.ofNullable("hutool").peeks(user::setUsername, user::setNickname); 什么?没看出有什么区别?都差不多???Na Na Na!接着往下看:首先是它使用java动态参数(可变参数)的特性,你可以传入0个或n个你想要的操作,例如: 【以前使用peek】 12345678if (condition) { // 满足条件,我就要把username设置为Opt中的值 hutool.peek(user::setUserna...
nvue引入图标坑
强本而节用,则天不能贫。——荀况 今天把原来的vue页面改为nvue 发现之前的图标怎么都引不进去,搞了半天,后来通过debug发现,我引入的方式是使用添加对应的class给它加了个::before伪元素 知道了这个就很简单了,我们按照官方文档引入字体 首先我在App.vue中写入css代码: 123456/* 加载图标字体 - 条件编译模式 *//* #ifdef APP-PLUS-NVUE */.my-iconfont { font-family: myIconfont;}/* #endif */ 然后在对应的nvue页面中,在beforeCreate生命周期里调用addRule 123456789beforeCreate() { // #ifdef APP-PLUS-NVUE const domModule = uni.requireNativePlugin('dom'); domModule.addRule('fontFace', { fontFamily: 'myIcon...
配置HX模板
如果一条船不知道它要驶向哪个码头,那么任何风都不会是顺风。——塞涅卡 HX就是HBuilder X的缩写,它配置自定义模板在官方文档中也有介绍 这里配置一个简单的uniapp列表页的模板 然后写入我们的自定义模板: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124{ // 注意:本文档仅支持单行注释,并且'//'前不能有任何非空字符!!! // // HBuilderX使用json扩展代码块,兼容vscode的代码块格式 // 本文档修改完毕,保存即可生效,无需重启。 //...
idea全局正则替换
一个不危险的想法不值得被称为想法。——奥斯卡.王尔德 idea的全局替换我们经常使用,但一般我们都是替换指定内容,如把ruben改成achao等 我们也可以开启正则表达式,进行匹配 例如我这里要把所有的以r开头的单词用引号引起来: 我们按下ctrl+shift+r进行替换全局,我这里就用当前页面作为演示了,毕竟懒得还原 我使用ctrl+r打开替换菜单,然后按下alt+x 查找栏输入: expression1(r[a-zA-Z0-9_]+$) 然后替换栏输入: 1"$1" 这里已经可以看到提示了 我们点击替换或者全局替换都可以的,替换后效果如下 如果我们有两个值,例如我这里叫vampire achao,想要给它这样的两个单词打上引号 就可以输入(v[a-zA-Z]+) ([a-zA-Z]+),替换为"$1 $2": 点击替换后效果:
COOL-UI
人有欲望,就有了很多无用的东西,车子,钓鱼竿,篮球……乔想着这些买来只用过一两次的东西,开始认为极简生活,没什么不好。——灵遁者《结束》 今天又发现一个uniapp的UI库:COOL-UI 官方文档:https://uni-docs.cool-js.com/ 而且这个还包含了后端:https://cool-js.com/ 组件选择当然是越多越好啦~
