小程序组件默认样式 component default style

不知道微信处于什么目的,并未告知组件的默认样式。且微信开发者工具的 Wxml 选项卡,不仅不支持 inherited from 等 Elements 原有功能,对自定义组件的支持更是鸡肋。
造成在实际使用中,为了覆盖特定组件的样式。不仅需要搭配各种参数,尝试覆盖响应状态。还要翻阅这个没什么人答题,官方投入不足的开发者社区。
比如为了覆盖 button 组件的边框,试了各种参数,查了一堆问题,才在一个角落找到解决方案,原来是通过伪类实现的。
由于被这种操作恶心的实在够呛,不想当下次出现问题时还这么操作,就想了个办法拿到了组件默认样式。

微信开发者工具是用 NW.js 写的,编辑器使用 VSCode 团队开源的 monaco-editor 实现,模拟器和调试器使用 NW.js 提供的 webview 标签实现。其中模拟器用于展示视图层渲染结果,调试器用于调试逻辑层代码。
从微信开发者工具菜单栏中,打开“调试微信开发者工具”功能,弹出第一个 Chrome devtools 窗口。
在第一个 devtools 的 Elements 选项卡,选中模拟器所在的 webview 后,右键 Copy selector 后,在 Console 中输入 document.querySelector(“刚才复制的选择器”).showDevTools(true) 后,弹出第二个 Chrome devtools 窗口。
在第二个 devtools 的 Elements 选项卡,就可以看到模拟器中实际渲染的 DOM 结构,在最顶部的 style 节点就是注入的默认样式。

编辑器限制输入 20000 字,就不粘贴具体样式了,如有需要请自行获取。
代码片段 wechatide://minicode/iItbTfmC6pYO

在 CentOS 7 平台使用 cnpmjs.org 搭建 npm 私有仓储,并集成 gitlab 认证

一、安装系统并配置编译环境
1.下载 CentOS 7 系统镜像并安装,选择基本开发环境。
2.修改默认 yum 源为阿里云源,并添加 EPEL 源。

3.安装 gcc 编译环境

4.验证安装结果

二、监测环境并安装 node.js
1.执行环境检测脚本,下载 node 在相应环境的已编译包

2.安装 node 和 npm

3.验证安装结果

三、安装并配置 cnpmjs.org
1.安装 cnpmjs.org依赖

2.验证安装结果

3.添加防火墙例外

四、修改 cnpmjs.org 配置
1.修改 /root/.cnpmjs.org/config.json (实际使用中必须删除注释,否则 json 格式错误)

2.修改 cnpmjs.org 源码 /usr/lib/node_modules/cnpmjs.org/services/user.js

3.自定义首页 /root/.cnpmjs.org/docs/web/readme.md

4.自定义用户认证 /root/.cnpmjs.org/services/custom_user_service.js

5.验证自定义配置

五、开机启动 cnpmjs.org 并配置域名和定期备份
1.创建服务并开机自启 /usr/lib/systemd/system/cnpmjs.org.service

2.应用并启动 cnpmjs.org 服务

3.配置 nginx 反向代理

4.验证域名配置

5.创建备份脚本 /root/.cnpmjs.org/backup/backup.sh
由于 cnpmjs.org 使用文件方式存放已发布的包,因此只用备份 sqlite 数据库即可。

6.验证备份脚本

7.配置定时任务

六、【非服务端】npm 或 cnpm 客户端配置
1.拦截 @xxxxxx 作用域下所有操作至私有仓储,可安装公司私有包。

2.使用 git.xxxxxx.work 用户名和个人访问令牌登录,可发布公司私有包。

参考资料:
CentOS 7 使用阿里云的yum源
Installing Node.js via package manager
CentOS7使用firewalld打开关闭防火墙与端口
Nginx+Center OS 7.2 开机启动设置(转载)
Using the SQLite Online Backup API
CentOS下使用crontab命令来定时执行任务
crontab中命令行中的百分号(%)需要做转义
Deploy a private npm registry in 5 minutes]
Different Modes
cnpmjs.org/config/index.js
GitLab API
Running Your Node.js App With Systemd – Part 1
Running Your Node.js App With Systemd – Part 2
npm 混合公共仓库和私有仓库