npm install
# 让 lerna 安装各个模块的依赖,再链接依赖
npx lerna bootstrap
npx lerna link
npm run gulp
# 推荐使用 npx (须在根目录执行)
npx gulp
# 查看所有任务
npx gulp --tasks
# 构建全部
npx gulp # npm run gulp
npx gulp toolkit # npm run gulp -- toolkit
npx gulp toolkit packager # npm run gulp -- toolkit packager
npx gulp build # 不包含测试
以下满足大部分开发测试需求(希望),如果特殊需求,可自行修改 gulpfiles.
执行 gulp
、gulp {toolkit, debugger, packager, build}
这几个命令时,传入
--dev
将跳过 minify
,方便开发时调试代码
监听文件,当文件修改时执行任务。
npx gulp watch # 监听全部
npx gulp watch --modules toolkit # 监听 toolkit
npx gulp watch --modules toolkit,packager # 监听 toolkit 和 packager
npx gulp watch -m t,p # 同上
npm run dev # gulp watch --dev
npx gulp test
npx gulp # 构建项目
node bin/index.js init <testapp> # 创建一个测试项目
cd <testapp> # 进入测试项目
node ../bin/index.js server --watch # 启动服务
node inspect ../bin/index.js server --watch # 调试
使用npm link 命令创建软链接。 假设有测试项目 testapp
,则可以通过下面的方式
创建软链接。
cd <hap-toolkit-root>
[sudo] npm link
cd <path-to-testapp>
npm link hap-toolkit
或
cd <path-to-testapp>
npm link <hap-toolkit-root>
创建软链接后,hap-toolkit
中的修改都会映射到 testapp
项目下的hap-toolkit
。
测试使用了[jest snapshot],避免人工编写预期结果的繁琐。测试修改时,应认真对比
snapshot
,确保它是正确的,还要记得提交snapshot
。
使用 -u
参数更新snapshot
:
npx jest ./server/__tests__/server.js -u
使用eslint
做代码检查,基于standard
规则。配置了husky 和lint-staged,提交
代码时会自动做一次检查并尝试矫正(fix)