chemzqm

chemzqm 查看完整档案

北京编辑北京大学  |  化学与分子工程 编辑匠物  |  架构师 编辑 chemzqm.me 编辑
编辑

Javascript全栈开发,产品设计,自动化工具。追求简洁的设计,模块化开发,卓越的用户体验。

个人动态

chemzqm 回答了问题 · 2017-08-25

微信浏览器内如何判断是否安装过某个第三方app?

跟微信发生关系,应该是最简单的方法了

关注 4 回答 1

chemzqm 回答了问题 · 2017-01-25

关于微信小程序调用方法问题。

因为 this 指向当前实例的属性和方法,Page 和 App 都只是生成页面和 app 实例的所谓工厂函数。

关注 4 回答 4

chemzqm 关注了问题 · 2017-01-25

关于微信小程序调用方法问题。

为什么在微信小程序中调用方法非得用this.方法呢?

关注 4 回答 4

chemzqm 赞了文章 · 2017-01-23

用vscode开发微信小程序

微信小程序这阵子非常火,相信大家都应该已经尝过鲜了,论坛里也有很多介绍的教程,讲的都不错,而我要讲的是开发工具。

微信小程序有自己的开发工具,是基于nw.js写的。做的比较简洁,基本的代码编辑、智能提示、调试等功能都有。不好的地方也很明显,不支持查看引用,不支持代码重构,最可恶的是居然不支持自家api的智能提示,写起代码来不够畅快。

我平常都是用vscode作为开发工具,想着要让vscode支持微信小程序。于是今天抽空写了个插件。主要实现两个功能:

文件关联

微信小程序是用.wxml文件来表示页面结构,用.wxss文件来表示样式表,vscode是不能识别这两种扩展名的,因此没有语法高亮,也不能用emmet
这个插件会修改用户设置中的文件关联,将.wxml映射到.html,.wxss映射到.css,语法高亮和emmet就都搞定了。

css

智能提示

之前写了个脚本把官网文档里列出的api都抓了出来,生成了wx.d.ts,这个插件就是把生成的wx.d.ts丢到小程序项目目录下。然后就可以愉快地使用智能提示啦。

intellisense

2016.11.11更新

微信自带开发工目前已经支持自家api提示和代码版,不过参数类型什么的提示还是没有;我这个插件已经支持实时预览,启动项目后按ctrl + f8就可以开启预览功能,后续会继续完善。

图片描述

查看原文

赞 52 收藏 41 评论 43

chemzqm 关注了问题 · 2017-01-17

使用git的时候,在vim编辑界面按ctrl+z退出了,怎么回到编辑界面?

在windows上使用git,运行git commit -a命令的时候,进入了vim的编辑界面,这时不小心按ctrl+z退出了vim编辑界面,回到了命令行,并显示了这样的信息:

$ git commit -a
Vim: 读错误,退出中...
Vim: Finished.

这时再次运行git commit -a的话,会出现以下信息:

$ git commit -a //ctrl+z退出之后再次运行git commit -a
fatal: Unable to create 'C:/Users/dell/gittest/.git/index.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

尝试fg返回去,但是不行,显示以下信息:

$ fg
bash: fg: current: no such job

应该怎么做?

关注 7 回答 6

chemzqm 回答了问题 · 2017-01-17

使用git的时候,在vim编辑界面按ctrl+z退出了,怎么回到编辑界面?

fg

...........................................

关注 7 回答 6

chemzqm 关注了问题 · 2016-12-21

适合移动端显示的PC端文本编辑器

文本、图片编辑是在pc web端,显示是在手机web端。一般文本编辑器出来的效果更适合在pc端浏览,有哪些适合在手机端浏览的?功能主要是能上传图片以及简单的排版编辑。

关注 3 回答 3

chemzqm 回答了问题 · 2016-12-21

适合移动端显示的PC端文本编辑器

ueditor 你的好伙伴

关注 3 回答 3

chemzqm 发布了文章 · 2016-11-16

小程序 102800 以及新版 WEPT 的改动

上一版微信小程序 0.10.102800 带来了许多的变化,以至于我一度以为 WEPT 这个主打热更新的小工具没什么继续存在的必要了,然而尽管我看到了小程序团队对于完善开发工具的不懈努力,它的体验在很多方面还是不那么让我满意(经常性崩溃以及内存泄露)。

102800 版本具体新增和修复的改动 官方文档 里面已经做了详细的说明(虽然他们代码未必很好,但是文档很专业)。我来谈一些内部实现上的一些变化,希望能帮大家对于小程序结构有个更好的了解,被坑了时候也能大概知道是怎么回事 ?

新的 wxss 构建方式

之前版本 wxss 中的 rpx 单位使用的是 rem 进行的模拟,但是微信团队发现这种方式部分机型上会有边框显示不全等问题。 新版中的 rpx 会通过当前页面的 screenWidth 和 deviceRatio 动态计算出一个 px 数值,然后取整数。

官方工具中 wxss 加载过程为后台编译 wxss 生成 javscript 文件,然后前端 view 层加载并执行这个 script 生成 css 文本, 最后生成 css 标签添加到 head 元素里。这种方式缺点在于如果我们修改了 wxss 或者调整页面宽度,所有页面都需要重新刷新, 而不仅仅是重新加载 css 那么简单,另一个问题是生成的内联 css 无法使用 css souremap 支持,不过官方工具提供了自己的 wxml 面板并且加入了相应 wxss 文件的跳转功能。

新的交互反馈 API

102800 版本加入了 wx.showToast wx.showModal wx.hideToast wx.showActionSheet 4 个交互 API, 方便开发者更容易的使用组件。这几个 API 的 UI 是由底层直接生成的,所以它的缺点就是不能使用 css 重写样式了, 设计的时候要注意了,如果需要好看的样式只能自己实现相应功能。

更加完善的 wxml 面板

新版的 wxml 支持属性页面同步、编辑元素属性、显示元素样式和 Dataset 等功能,尽管没有 Chrome 自带的 Elements 面板那么灵活,但是已经非常实用了。

WEPT 0.5.0 在兼容现有小程序 API 的基础上,同时也做出了一些改进。

css sourcemap 支持

WEPT 使用后端将 wxss 文件转换为 css 文件,并且添加了 css sourcemap 功能, 开发者可以直接从样式面板跳转到对应文件的对应行,如果你在 Chrome 的 devtools 中添加了 “映射到本地文件”, 可以直接去编辑对应文件,因为 WEPT 支持 wxss 文件热更新,所以保存后样式会立即生效。

JavaScript sourcemap 支持

官方工具支持 JavaScript 的 souremap,但是目前的实现有 bug,使用本地文件映射功能会报错:

WPET 中的 souremap 可以映射到本地文件,开发者可以直接在 Chrome 的 sources 面板下修改相应文件。

代理配置支持

WEPT 支持在项目目录下的 wept.json 配置文件,开发者可以添加该项目使用的代理服务器配置, 具体使用方法请参考 wept 配置文档。

如果你需要使用工具调整修改请求或者服务端响应,别忘了调整 app.json 里面配置的超时时间: networkTimeout

重做了 wxml,wxss 以及 javscript 热更新

wxml 改为由控制层发起新模板请求, 生成新的 generateFunction 全局变量到 view 层,再通过发送 appDataChange 事件让 view 层重新渲染,避免原先修改 view 层代码可能导致的 bug。

wxss 文件的热更新支持新版的 rpx 计算方式,支持 window resize 后自动重刷新,支持 @import 引入文件修改后自动刷新相应 css。

javascript 文件修复了之前路径上 query 参数无法正确传递的 bug, 相比于官方工具修改 js 文件后重置到项目主页,WEPT 针对页面 JavaScript 文件使用动态热更新,即便是其它 js 文件,在页面刷新后也将自动导航到之前页面。

启动时编译所有文件

现在 WEPT 启动时会将所有的 wxml、wxss 以及 JavaScript 进行解析后放入缓存对象,这有助于帮助开发者尽早发现编译期的 bug, 同时一定程度提高了页面载入速度(每个 wxss 文件大概 30ms 左右)

端口自动查找

新版会自动从 3000 端口往上查找可用的端口号,避免端口不可用导致报错中止的尴尬情况。

相比与之前较多改动官方 view 层和 service 层代码的方式,新版 WEPT 采用了新的代码注入方式,只需对官方代码做出 少量修改 即可完成新版升级,之后的代码更进不会再像这次便秘这么久了?

查看原文

赞 0 收藏 0 评论 0

认证与成就

  • 获得 167 次点赞
  • 获得 11 枚徽章 获得 1 枚金徽章, 获得 3 枚银徽章, 获得 7 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

  • 匠物官网

    完全使用组件化实现的网站,主要针对移动端,为用户提供一流的交互体验。

注册于 2013-12-31
个人主页被 906 人浏览