当前位置:   article > 正文

uni-app 开发微信小程序 自动化编译/启动项目_uni -p mp-weixin

uni -p mp-weixin

      最近开发一个uni-app的小程序项目,因为习惯使用vscode 而项目不得不借助hbuderx 运行,微信开发工具调试,偶尔还需要使用 ios模拟器, 8g内存的mac 就变的异常卡顿,所以就研究了下通过npm命令去编译、 运行等工程化配置, 这样就不用运行hbuderx 减少内存使用,顺便 记录下从需求到完善功能的过程,以及遇到的问题,解决的方案。

一、npm 编译uni-app 代码 

打开uni-app 官方文档寻找工程化相关的文档

 比较符合我的需求,按照官方文档下载demo尝试

因为之前已经安装过vue-cli 这里我们直接跳过,第二步选择正式版

vue create -p dcloudio/uni-preset-vue my-project

 因为网络原因,初始化项目失败

 尝试gitee 直接下载模版, 得到这样一个文件结构的项目 

package.json 是这样子的

 尝试运行下命令

  1. npm i
  2. npm run dev:mp-weixin

 编译成功了,项目根目录下出现了一个dist 文件夹, 显然这是个编译过后的微信小程序项目代码 

废话不多少 直接使用微信开发工具打开看看

 尝试修改下代码

 我们删除无用的命令得到这样一个package.json

  1. {
  2. "name": "uni-preset-vue",
  3. "version": "0.0.0",
  4. "scripts": {
  5. "dev:mp-weixin": "uni -p mp-weixin",
  6. "build:mp-weixin": "uni build -p mp-weixin"
  7. },
  8. "dependencies": {
  9. "@dcloudio/uni-app": "^3.0.0-alpha-3041820220630001",
  10. "@dcloudio/uni-app-plus": "^3.0.0-alpha-3041820220630001",
  11. "@dcloudio/uni-mp-weixin": "^3.0.0-alpha-3041820220630001",
  12. "vue": "^3.2.33",
  13. "vue-i18n": "^9.1.9",
  14. "vuex": "^4.0.2"
  15. },
  16. "devDependencies": {
  17. "@dcloudio/types": "^3.0.4",
  18. "@dcloudio/uni-automator": "^3.0.0-alpha-3041820220630001",
  19. "@dcloudio/uni-cli-shared": "^3.0.0-alpha-3041820220630001",
  20. "@dcloudio/vite-plugin-uni": "^3.0.0-alpha-3041820220630001",
  21. "vite": "^2.9.6"
  22. }
  23. }

这样我们就实现了通过 npm run dev:mp-weixin 去编译uni-app 开发的微信小程序项目了,接下来查看微信开发工具的自动化api 文档 去实现自动打开我们的dist 目录的项目就ok了

二、打开微信开发工具

打开微信开发工具官方api

 按照上面的操作一下

  1. npm i miniprogram-automator --save-dev

编写openWeixin.js

  1. const automator = require('miniprogram-automator')
  2. automator.launch({
  3. cliPath: 'path/to/cli', // 工具 cli 位置,如果你没有更改过默认安装位置,可以忽略此项
  4. projectPath: 'path/to/project', // 项目文件地址
  5. }).then(async miniProgram => {
  6. const page = await miniProgram.reLaunch('/page/component/index')
  7. await page.waitFor(500)
  8. const element = await page.$('.kind-list-item-hd')
  9. console.log(await element.attribute('class'))
  10. await element.tap()
  11. await miniProgram.close()
  12. })

更改项目地址到生成的dist 目录

  1. const automator = require('miniprogram-automator')
  2. automator.launch({
  3. cliPath: 'path/to/cli', // 工具 cli 位置,如果你没有更改过默认安装位置,可以忽略此项
  4. projectPath: './dist/dev/mp-weixin', // 项目文件地址
  5. }).then(async miniProgram => {
  6. // 打开后的回掉看自己需求编写
  7. })

执行一下

node openWeixin.js

成功执行了

编写package.json script 命令

  1. "scripts": {
  2. "open": "node openWeixin",
  3. "serve": "npm-run-all --parallel dev:mp-weixin open --continue-on-error"
  4. }

执行 npm run serve 就可以了 (npm-run-all 执行多个命令的包,我尝试了&& 发现会报错 所以找到的npm-run-all 来实现, npm-run-all 使用方法同学们自行查询官方文档)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/280466
推荐阅读
相关标签
  

闽ICP备14008679号