0.2.2 • Published 5 years ago

wecat v0.2.2

Weekly downloads
9
License
MIT
Repository
github
Last release
5 years ago

Wecat

微信小程序模块化方案

English

微信小程序没有成熟的包管理体系,现有类库的引入基于手动组织文件代码结构,更是缺乏版本控制。wecat 尝试沟通 github/npm 生态,主要特性如下:

  • 依赖声明
  • 类库自动安装
  • 版本管理
  • Waiting for more...

安装

全局安装提供命令行工具。

npm install -g wecat

使用

  • 初始化项目,将在项目根目录新建 wecat.json
wecat init
  • Install 安装 wecat.json 中声明的所有依赖,包括 DownloadLink 两阶段。Download 从 github/npm CDN 上下载对应版本包中指定路径的文件到指定本地目录中。Link 负责复制项目 node_modules 已安装包中的指定文件到本地目录,此目的在于访问私有仓库包。
wecat install

还可以单独执行 Download/Link 命令。

wecat download
或
wecat link
  • 所使用的类库需支持 CommonJS 规范, 并注意检测是否兼容小程序环境,如正确处理 global is undefined 等问题。由于直接使用单文件,其中不得 require 其他无法引用到的文件及全部node_module

定义

wecat.json 文件结构大致如下。

{
  "root": "./",
  "target": [],
  "link": {}
}
字段类型含义属性
rootString定义小程序 app 目录,安装文件将相对于此目录。optional, default:'./'
targetArray声明来自于github/npm CDN 的依赖required
linkObject声明来自于 node_modules 的依赖required

Target结构体:

字段含义
name包名(repo/name)
versionRelease 版本
filename下载到小程序目录的位置
pathRelease 包中文件路径
source包来源, 可选,默认为 githubnpm 时访问 npmcdn 上的资源

举例:

...
"target": [
  ...,
  {
    "name": "mathiasbynens/base64",
    "version": "v0.1.0",
    "filename": "lib/base64.js",
    "path": "base64.js" 
  }, 
  ...
]
...

执行 Link 前先完成 npm install 操作,版本管理通过 npm 完成,建议锁定版本。

Link结构体:

"link": {
  ...
  "vue": {
    "filename": "lib/vue.esm.js",
    "path": "dist/vue.esm.js", 
  },
  ...
}