关注IMWeb前端社区公众号

  • 第一时间获得最新、最火的技术干货
  • 定期推送您所关注的专题文章
  • 和大牛们一起讨论前端技术
  • 获取IMWeb社区、前端相关的最新活动
热文 更多

  • 你知道npm包版本管理有多重要么?

    前言 我之前确实对包版本管理这块的知识比较缺失,所以导致我在项目的某次需求当中掉进了很多深坑。这篇文章,希望可以帮助你避开这些包版本管理不善带来的问题。 下面是故事时间: 故事一 我们的项目中使用的是preact,preact-compat的库。某天,小A要做需求,时间比较赶所以想引用一些库进来提升效率,但是由于当前preact-compat太低导致不兼容啊。怎么办?这还用问么?当然是 升级一下preact-compat的版本 啊。 小A开心的就把本地的preact-compat升级了,跑一下本地,很正常嘛,于是就push上了远程愉快的发布了。 发布后不久,产品经理来找小B了,说怎么回事,我们的页面不能用了啊!直接一上来就是遮罩 ,关都关不掉。于是小B赶紧找到发布了需求的小A,问问有没有改到自己的文件。同时也拉取了最新的代码在本地调试。很快就找到了问题 --- 就是由于preact-compat版本升级导致一个JSX-if的库不兼容 。原先需要判断一下if else逻辑的地方,一下子全部失效了。

  • 微信小程序之支付

    微信小程序为支付提供了一个 API,那就是 wx.requestPayment [https://developers.weixin.qq.com/miniprogram/dev/api/wx.requestPayment.html] 。打眼一看还是比较简单的,就是传入几个参数呗,但是实际要搞定这几个参数还是需要一些流程的。 参数说明 wx.requestPayment 的参数如下: [http://imweb-io-1251594266.cos.ap-guangzhou.myqcloud.com/fa8435647ee9f59354fc9f2d6b8a1cbb.jpg] 首先 nonceStr 和 package 这两个参数是由另外一个 统一下单 API [https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1>index=1] 返回的。而该接口需要提供小程序appid、商户号,用户 openid 等。 然后 paySign 签名涉及到 签名算法

  • C++ 编写 WebAssembly初探

    关于WebAssembly ( en [https://webassembly.org/] zh [http://webassembly.org.cn/] ) 就不多说了,这是一个可移植、体积小、加载快并且兼容 Web 的全新格式。这里本人尝试了开发环境的搭建,并接入了一个C++编写的计算字符串MD5的自定义方法。 环境搭建 基本的环境搭建可以参考 mdn文档 [https://developer.mozilla.org/zh-CN/docs/WebAssembly/C_to_wasm] 和 emscripten-site [https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html] ,将C/C++编译为wasm依赖于emscripten,这里我们需要自行去编译一个Emscripten。

  • CSS Houdini 通览

    简介Houdini是一个国际逃脱艺术家,通常使用各种玄幻的方式打破观众的想象,收获到各种惊叹。 而在 W3C 中 Houdini 是 W3C 成立的一个任务小组,Houdini 主要的工作任务是把开放的CSS API 提供给开发者,开发者可以在通过在浏览器渲染的各个阶段控制该时间节点的工作内容来实现对CSS进行编程,也意在提供玄幻、充满着各种无限可能的CSS实现方式。 Houdini 主要由Typed OM、Properties/Values、Worklets、Parser API、Paint API、Layout API组成,下面会进行简单的介绍。 Typed OMTyped OM 全称是 Typed Object Model 类型对象模型。他可以给 我们取到的CSS 值添加一些类型、方法和新的对象模型来进一步扩展CSS值的易用性和可读性。 这时候我们取到的CSS的值不再是字符串了,现在我们取到的值是JavaScript里的一个对象,可以更加符合我们JavaScript编程的习惯,我们也可以对 CSS 进行更加合理的操作。 举个栗子。

  • 浏览器缓存

    原文链接: http://www.cun-xu.cn/index.php/2018/12/26/浏览器缓存/ [http://www.cun-xu.cn/index.php/2018/12/26/浏览器缓存/] 今天我们来说一下浏览器缓存的问题,缓存可以减少网络IO的消耗,提高访问速度。浏览器缓存是一种操作简单、效果显著的前端性能优化手段。 关于缓存的头部字段包括: CACHE-CONTROL(缓存头) * 每个资源都可通过 cache-control HTTP标头定义其缓存策略 * cache-control 指令控制谁在什么条件下可以缓存响应以及可以缓存多少 可缓存性public : 即使它有相关联的http身份验证,甚至响应状态代码通常无法缓存,也可以缓存响应。大多数情况下, public 不是必需的,因为明确的缓存信息(例如 max-age )已表示响应是可以缓存的。 private : 浏览器可以缓存 private 响应。不过,这些响应通常只为单个用户缓存,因此不允许任何中间缓存对其进行缓存。例如,用户的浏览器可以缓存包含私人信息的HTML网页,但CDN却不能进行缓存。

热问 更多