小程序第二讲 wepy 项目上手

wepy+vant 微信小程序开发总结 前言 本次小程序开发选择使用 wepy作为小程序第三方框架,在UI组件库方面选择的是有赞的移动端组件库Vant去快速搭建小程序应用。这次小程序功能需求并不是特别复杂,目前亲测功能基本满足。这段时间刚好工作空闲期,决定将这次开发的坑以及重要点记录下来,以备今后查阅。 全局安装wePy模块包 npm install wepy-cli -g 代码编辑用的一直还是VsCode,在VsCode编辑... 阅读详情

写在前面的话

上一篇我们讲到了环境的搭建,这一讲我们围绕着我们搭建好的环境,找一个开源的小程序项目先熟悉起来

我们以 电商项目 为例一步一步填坑

将项目下载到本地

模仿别人的项目第一步就是,将别人的工程clone到本地。先跑起来在说接下来的事情。

git clone git@github.com:dyq086/wepy-mall.git

cd wepy-mall
sudo npm install
wepy build --watch

在这里插入图片描述
很遗憾的告诉你这个项目真的跑不起来!!!

使用能运行的空项目

我们使用上一讲创建的wepy小程序的空项目,将这个跑不起来的项目一点一点的加入进来。首先第一步我们需要先把页面加入进来
在这里插入图片描述

不管三七二十一,先把代码弄过来

这里有个文件是需要我们对照一下看看的,如果你跟我一样对这个app.wpy文件有一些好奇心的话,当然如果没有你直接覆盖也行!

<style lang="less">
@import "./styles/base";
@import "./styles/icon";
@import "./styles/style";

</style>
<script>
import wepy from 'wepy';
import 'wepy-async-function'
export default class extends wepy.app {
  config = {
    pages: [
      'pages/authorize',
      'pages/home',
      'pages/home_detail',
      'pages/classify',
      'pages/shop_cart',
      'pages/info',
      'pages/search',
      'pages/test',
      'pages/sign_in',
      'pages/exchange_goods',
      'pages/wholesale',
      'pages/replenishment_goods',
      'pages/register',
      'pages/order',
      'pages/reorder',
      'pages/pay_success',
      'pages/points',
      'pages/points_more',
      'pages/points_rule',
      'pages/collection',
      'pages/messages',
      'pages/setting',
      'pages/goods_detail',
      'pages/comfire_order',
      'pages/address',
      'pages/order_detail',
      'pages/filter',
      'pages/logistics',
      'pages/comment',
      'pages/comment_add'
    ],
    window: {
      backgroundTextStyle: 'dark',
      navigationBarBackgroundColor: '#FFFFFF',
      navigationBarTitleText: 'WeChat',
      navigationBarTextStyle: 'black',
      enablePullDownRefresh: false,
      backgroundColor: '#EFEFEF'

    },
    "tabBar": {
      "color": "#999999",
      "selectedColor": "#ff6a3c",
      "backgroundColor": "#ffffff",
      "borderStyle": "black",
      "list": [{
        "pagePath": "pages/home",
        "text": "首页",
        "iconPath": "images/icon_home.png",
        "selectedIconPath": "images/icon_home_active.png"
      }, {
        "pagePath": "pages/classify",
        "text": "分类",
        "iconPath": "images/icon_classify.png",
        "selectedIconPath": "images/icon_classify_active.png"
      }, {
        "pagePath": "pages/shop_cart",
        "text": "购物车",
        "iconPath": "images/icon_shop_cart.png",
        "selectedIconPath": "images/icon_shop_cart_active.png"
      }, {
        "pagePath": "pages/info",
        "text": "我",
        "iconPath": "images/icon_info.png",
        "selectedIconPath": "images/icon_info_active.png"
      }]
    }
  }

  globalData = {}

  constructor() {
    super()
    this.use('requestfix')
    this.use('promisify');

  }

  async onLaunch(option) {

  }
}

</script>

细心的小伙伴门就会发现,这个文件跟小程序的
在这里插入图片描述
这三个文件的内容很相似

wepy 其实就是vue的语法规则,稍许的不同。wepy就是小程序的三个文件合并之后的效果,正确的说法应该是wpy文件在编译成小程序的过程中会生成js,json,wxss三个文件。

我们需要在这个文件里做一些配置:页面路径配置,窗体配置,导航配置,以及全局样式导入,三方框架导入和初始化

配置文件修改

当我们对上述的文件改好以后,我们可以先运行一下

wepy build --watch

根据提示内容我们发现,项目中缺少一些三方库的引入

这个时候我们需要关注一下 package.json 这个文件

{
  "name": "wxYuHanStore",
  "version": "1.0.2",
  "description": "wxYuHanStore project",
  "main": "dist/app.js",
  "scripts": {
    "dev": "wepy build --watch",
    "build": "cross-env NODE_ENV=production wepy build --no-cache",
    "dev:web": "wepy build --output web",
    "clean": "find ./dist -maxdepth 1 -not -name 'project.config.json' -not -name 'dist' | xargs rm -rf",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "wepy": {
    "module-a": false
  },
  "author": "yongqing <490844594@qq.com>",
  "license": "MIT",
  "dependencies": {
    "wepy": "^1.6.0",
    "wepy-async-function": "^1.4.4",
    "wepy-com-toast": "^1.0.2",
    "wepy-plugin-imagemin": "^1.5.3",
    "wepy-plugin-uglifyjs": "^1.3.7"
  },
  "devDependencies": {
    "babel-eslint": "^7.2.1",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-plugin-transform-export-extensions": "^6.22.0",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "cross-env": "^5.1.3",
    "eslint": "^3.18.0",
    "eslint-config-standard": "^7.1.0",
    "eslint-friendly-formatter": "^2.0.7",
    "eslint-plugin-html": "^2.0.1",
    "eslint-plugin-promise": "^3.5.0",
    "eslint-plugin-standard": "^2.0.1",
    "wepy-compiler-babel": "^1.5.1",
    "wepy-compiler-less": "^1.3.14",
    "wepy-eslint": "^1.5.3"
  }
}

主要关注这个地方,对比一下我们的空工程,看一下作者额外又引入了那些三方库

 "dependencies": {
    "wepy": "^1.6.0",
    "wepy-async-function": "^1.4.4",
    "wepy-com-toast": "^1.0.2",
    "wepy-plugin-imagemin": "^1.5.3",
    "wepy-plugin-uglifyjs": "^1.3.7"
  },

修改完成之后,我们需要使用命令安装一下三方库

sudo npm install 

最后再编译运行,我们就能看到运行起来的小程序啦!当然这个时候我们会看到控制台又很多错误提示,我们把相对应的eslint进行关闭.(wepy.config.js )

const path = require('path');
var prod = process.env.NODE_ENV === 'production';

module.exports = {
  wpyExt: '.wpy',
  eslint: false,//关闭eslint
  cliLogs: !prod,
  build: {
    web: {
      htmlTemplate: path.join('src', 'index.template.html'),
      htmlOutput: path.join('web', 'index.html'),
      jsOutput: path.join('web', 'index.js')
    }
  },
  resolve: {
    alias: {
      counter: path.join(__dirname, 'src/components/counter'),
      '@': path.join(__dirname, 'src')
    },
    aliasFields: ['wepy', 'weapp'],
    modules: ['node_modules']
  },
  compilers: {
    less: {
      compress: prod
    },
    /*sass: {
      outputStyle: 'compressed'
    },*/
    babel: {
      sourceMap: true,
      presets: [
        'env'
      ],
      plugins: [
        'transform-class-properties',
        'transform-decorators-legacy',
        'transform-object-rest-spread',
        'transform-export-extensions',
      ]
    }
  },
  plugins: {
  },
  appConfig: {
    noPromiseAPI: ['createSelectorQuery']
  }
}

if (prod) {

  // 压缩sass
  // module.exports.compilers['sass'] = {outputStyle: 'compressed'}

  // 压缩js
  module.exports.plugins = {
    uglifyjs: {
      filter: /\.js$/,
      config: {
      }
    },
    imagemin: {
      filter: /\.(jpg|png|jpeg)$/,
      config: {
        jpg: {
          quality: 80
        },
        png: {
          quality: 80
        }
      }
    }
  }
}

这样我们就可以过滤掉我们不想看的语法检查提示啦

遗留问题

运行起来后我们会发现项目还有一些问题
1.页面都是空白
2.api接口都挂了
3.页面数组传值有问题
等等等问题
这些问题我们会在后续的章节中继续讲解

结束语

喜欢加个关注支持一下后续会有更多更新内容,我好困啊我要睡觉了

项目地址

https://github.com/crobotvip/smallshop.git

海康工业相机排雷笔记02-像素格式解析 工业相机使用过程记录 02-像素格式解析 通过将相机输出图像裸数据raw格式直接存图查看 一、黑白/Mono 直接使用相机测试图像存图: 图像中各部分灰度分别为:0、36、73、109、146、182、219、255,以灰度73列为例 (1)Mono 8 该列图像数据为十六进制49,十进制为73,那么Mono 8就是每个像素点占8bit,依次排列。 (2)Mono 10 该列图像数据为十六进制2401,由于相机均为小端数据,实际数据应解析为0124,十进制为292=73*4,那么Mono 10格式为每 阅读详情

相关推荐

MDK5 Debug调试方法总结

MDK5 Debug调试方法总结

m0_70748084的博客 2万+

wepy一些问题和解决方案

wepy一些问题和解决方案

p15097962069的博客 241

基于ESP32-WROOM的智能蓝牙电压电流监测与远程控制系统设计

本文介绍了基于ESP32-WROOM的智能蓝牙电压电流监测与远程控制系统设计。该系统集成了INA219传感器和OLED显示屏,通过蓝牙实现无线数据传输和远程控制,适用于智能家居能耗监控和工业设备管理,具有成本低、精度高、功耗优化等优点。

qsc901234的博客 203

wepy项目创建和启动微信开发者工具调试

wepy项目创建和启动 全局安装wepy npm install wepy-cli -g 在开发目录中创建demo项目 wepy new demo (或1.7.0之后版本使用 wepy init standard demo) 切换至项目目录 cd demo 安装依赖 npm install 开启实时编译 wepy build --watch 项目的结构 |-- dist ...

不疲不倦的博客 3102

项目方案:社会视频资源整合接入汇聚系统解决方案(五)

视频监控接入和视频汇聚平台,形成整合平台,平台服务层包括编码设备、存储设备、解码设备等的接入服务,提供基础视频服务、传输服务、存储服务、控制服务及事件服务。两种不同的接入方式:监控设备接入,是指接入社会单位视频监控系统的DVR(数字硬盘录像机)、DVS和IPC、DVR/NVR、CVR等设备;平台对接,是指对接接入社会单位数字视频监控平台。AS-VAG视频监控接入网关支持onvif、国标等接入,也支持多种SDK接入方式,包括国产的主流品牌支持海康、大华、宇视、华为等SDK,国际品牌支持松下和axis等SDK。

weixin_70208651的博客 2464

Zenoh:统一数据平面协议,重塑物联网与边缘计算架构

在分布式系统与物联网领域,数据通信与处理常面临协议割裂的挑战。传统方案如MQTT、Kafka、gRPC等,分别针对发布/订阅、流处理和RPC等不同场景,导致架构复杂、集成成本高。其核心问题在于未能统一处理“运动中数据”(Data in Motion)与“静止中数据”(Data at Rest)。Zenoh协议通过创新的“Key-Value”寻址与“Selector”查询语言,将发布/订阅、存储、查询和计算四种核心操作融合进单一协议,构建了统一的抽象层。这种设计实现了极低的协议开销(仅5字节头部)和地理分布式

weixin_29597551的博客 290

小程序onload_小程序升级WePY2踩坑记

点击上方蓝字关注我们最近有个小程序项目需要迭代,但是迭代任务不多,时间比较充裕。而这个小程序最早是在18年的时候开发的,用的开发框架是 WePY 的 1.7.2 版本,去年也就是 19 年的时候 WePY 框架进行了升级,到了 2.0 版本。升级之后的 WePY,用 WePY 官方文档的话来说:通过优化细节,引入 Promise、Async Functions 等让开发小程序项目变得更...

weixin_39732018的博客 472

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4950

运行wepy时找不到wepy-compiler-sass问题的一种解决方法

最近在修改老项目的问题,使用启动wepy项目的时候发现缺少wepy-compiler-sass,于是想着使用npm rebuild node-sass看看能不能解决,问题依旧,想起以前好像也有项目启动不了的情况。又想起来最近更新了node版本,于是使用nvm list 列出本机的node本,使用nvm use v7.7.4切回当前目录node的版本,再运行就没问题了,出现这个问题的情况有可能是因为...

u014477038的专栏 5064

YOLOv11-Pose部署RK3588实战:人体姿态识别精度翻倍,边缘推理速度突破瓶颈

本教程从YOLOv11-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

m0_64661770的博客 138

【异常】OpenClaw LLM请求超时故障全链路排查与解决方案 LLM request timed out. 网络连接超时了

摘要: OpenClaw LLM请求超时故障是高频网络交互问题,表现为客户端在预设时间内未收到服务端响应。根因分为四类:客户端配置缺陷(如超时阈值不合理)、网络链路异常(防火墙拦截等)、服务端问题(限流/宕机)及硬件瓶颈(算力不足)。解决方案分三步: 通用排查:检查网络连通性、关闭防火墙/代理校验,调整超时阈值至60-300秒; 分场景修复:云端API需核对密钥/限流规则,本地部署需验证服务状态与硬件资源; 兜底方案:重启程序、更新版本或更换服务端点,结合日志精准定位。修复后不影响OpenClaw数据完整性

奶爸的编程之路,也就一周冷个三天 2058

【18】微信小程序:05-WePY简介、WePY的安装与运行、WePY文件介绍、WePY框架开发规范与使用

文章目录第四天笔记 - WePY一、WePY 简介001 - 什么是 `WePY`002 - 为什么使用 `WePY`二、`WePy` 的安装与运行001 - 安装 `WePY`002 - 初始化 `WePY` 项目003 - 运行编译 `WePY` 项目004 - 认识`WePY` 项目目录004 - 将 `WePy` 项目导入到开发者工具中005 - `WePY` 和 小程序项目的关系三、`WePY` 文件介绍001 - 介绍`.wpy`文件的组成部分002 - `.wpy` 文件的使用说明003 -

忘尘丶莫负的博客 4584

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++小学组:带解析)(7月4日试卷一)【文末附答案和解析】

2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++小学组:带解析)(7月4日试卷一)【文末附答案和解析】

王老师青少年编程 1738

【小程序】WePY 详细上手入门教程

WePY小程序框架入门教程摘要 WePY是腾讯官方推出的类Vue语法的小程序组件化开发框架,允许开发者使用Vue语法编写小程序,支持组件化开发、ES6+语法和npm包引入。教程从安装配置到核心功能全面讲解:包括项目初始化、组件化开发模式、数据绑定与事件处理等核心概念,并详细分析了WePY的编译原理和运行时架构,通过流程图展示文件编译、组件通信等关键流程。同时提供组件生命周期、数据流机制等实用知识点,帮助开发者快速掌握WePY开发技巧,避免常见陷阱,实现高效小程序开发。

silverclayz的技术分享 1384

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

wepy:搭建小程序教程(一)

1.在使用wepy搭建小程序前必须全局安装wepy包,使用 npm install wepy-cli-g 2.在下图可以看到创建一个wepy的命令是wepy new myproject(以前的办法), 现在统一创建使用的命令为wepy init standard myproject 3.创建的时候我们会需要输入这个信息,如下图 第一个我们可以直接回车默认 第二个为项...

qq_40692287的博客 2590

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【微信小程序】WePY入门教程

准备工作 一、脚手架的搭建 1、安装wepy脚手架 npm install wepy-cli -g 2、查看wepy版本(出现版本号说明wepy脚手架安装成功) wepy -v 3、如果脚手架为1.70版本以上,可以先查看项目模板 wepy list ...

NAMECZ的博客 2546

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

wepy快速入门

Github地址 wepy官网:https://tencent.github.io/wepy/index.html 安装 wepy 命令行工具 npm install wepy-cli -g 在开发目录生成开发DEMO wepy new myproject 开发实时编译 wepy build --watch npm install -g wepy-cli //全局安装或更新WePY命令行工...

程序员哆啦A梦,蓝胖子 2994

小程序第一讲 wepy环境搭建

小程序第一讲 wepy环境搭建写在前面的话准备node和npm环境WePY项目的创建与使用WePY项目的目录结构参考建议添加项目代码高亮结束语 写在前面的话 wepy的官方文档已经很详细了,为啥我还要啰嗦写下这篇文章。我想说的是:这个系列就是一个笔记形式的记录吧!把我开发过程中遇到的坑和不懂得地方记录下来。不喜勿喷 https://tencent.github.io/wepy/ 准备node和np...

ZPCrobot的博客 747

【wepy】使用wepy构建小程序,并安装sass

wepy 安装 打开命令管理器(输入) npm install wepy-cli -g // 全局安装wepy-cli wepy new myproject # 1.7.0之后的版本使用 (注意) wepy init standard myproject 此时已经构建好 myproject 文件夹项目 cd myproject 安装依赖 cnpm install ...

曹小心的博客 1128

wepy的基本安装和使用

wepy的基本使用使用 1、WePY 简介和安装 001 - 什么是 WePY WePY 是腾讯官方出品的一个小程序快速开发框架,对原生小程序的开发模式进行了再次封装 wepy官网 002 - 为什么使用 WePY WePY 相比于原生小程序开发,拥有众多的开发特性和优化方案, 开发风格接近于 Vue.js,支持很多vue中的语法特性; 通过 polyfill 让小程序完美支持 Prom...

搬砖猴哥 4580

wepy小程序项目

# 安装(更新) wepy 命令行工具。 cnpm install wepy-cli -g # 安装依赖包 cnpm install # 开发实时编译。 npm run dev WePY开发文档参考 店铺 店铺首页 店铺信息 商品 分类展示 规格展现 购物车 商品详情 会员折扣价 订单 商品下单 订单列表 订单详情 订单评价 订单退款 堂食点餐/外卖点餐 优惠券 我的优惠券 领取优惠券 ...

程序员哆啦A梦,蓝胖子 708

创建小程序WePY项目过程报错指南

1.在 WebStorm 中创建一个空的项目,如创建一个 WePYTest 项目 2.在 WebStorm 中,按快捷键 Alt + F12 唤起内置的命令行。执行下面的命令: C:\Users\HMF\WebstormProjects\WePYTest\HelloWorld>wepy init standard HelloWorld 3. ...

HMF的博客 1387

ZanUI in WePY:小程序开发的利器

ZanUI in WePY:小程序开发的利器 项目介绍 ZanUI in WePY 是基于 ZanUI 和 WePY 的开源项目,旨在为开发者提供一套符合微信视觉规范的小程序UI组件库。ZanUI 原本是有赞移动 Web UI 规范的小程序实现版本,而 ZanUI in WePY 则进一步将其移植到 WePY 框架中,使得开发者能够更方便地在 WePY 项目中使用这些高质量的UI组件。 项目技术分...

gitblog_00683的博客 786

小程序学习——打开wepy项目

微信开发者工具打开已有的wepy项目wepy项目是依赖npm的,所以在clone下来后,1.进入目录下,npm install2,运行 wepy build --watch,开启实时编译确认无误时,我们打开微信开发者工具,1.新建项目 2,填写如下,一定要选择是已有项目的目录下的dist文件夹,因为这里进行了编译,存在app.json文件,而开发者工具就是需要首先找到这个文件,然后打开...

赵乘风_i 9410

WePY项目的创建和运行

***************************************** WePY项目的创建和使用 WePY的安装或更新都通过npm进行的哦,下面用到的fileName都是自己定义的哦 npm install -g wepy-cli   (全局安装或更新命令行工具) wepy init standard flieName (创建自己的项目名fileName) 命令执行完后会出...

qq_40414159的博客 3643

使用wepy框架搭建一个小程序项目框架

文章目录一、环境配置1、安装node2、设置淘宝源3、小程序开发必备4、安装vscode5、使用说明二、开始搭建1、前期初始化项目2、安装scss(可不装) 一、环境配置 1、安装node 官网 https://nodejs.org/en/ or http://nodejs.cn/ 查看node版本号: node -v 查看npm版本号:npm -v 2、设置淘宝源 npm in...

蒹葭的博客 1037
上一篇: 小程序第一讲 wepy环境搭建
下一篇: 小程序第三讲 组件间传值 props
像一只小蜗牛
博客等级 码龄8年 33粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值