All Projects → coldblue123 → weapp-template

coldblue123 / weapp-template

Licence: other
🚀一个简单实用的微信小程序基础配置模板

Programming Languages

javascript
184084 projects - #8 most used programming language
Less
1899 projects

Projects that are alternatives of or similar to weapp-template

wxapp-computed
在微信小程序中使计算值(computed)
Stars: ✭ 20 (-82.14%)
Mutual labels:  weapp, miniprogram
Westore
更好的小程序项目架构
Stars: ✭ 3,897 (+3379.46%)
Mutual labels:  weapp, miniprogram
weapp.request
为微信小程序提供的网络请求组件,是 wx.request 的扩展,基于 Promise API,添加缓存控制
Stars: ✭ 29 (-74.11%)
Mutual labels:  weapp, miniprogram
Wux Weapp
🐶 一套组件化、可复用、易扩展的微信小程序 UI 组件库
Stars: ✭ 4,706 (+4101.79%)
Mutual labels:  weapp, miniprogram
jgb
小程序渐进式编译框架
Stars: ✭ 21 (-81.25%)
Mutual labels:  weapp, miniprogram
wxml-vscode
👾Vscode plugin -- wechat applets formatting and highlighting components (highly customized)
Stars: ✭ 31 (-72.32%)
Mutual labels:  weapp, miniprogram
mobx-wxapp
在小程序中使用mobx
Stars: ✭ 54 (-51.79%)
Mutual labels:  weapp, miniprogram
Cax
HTML5 Canvas 2D Rendering Engine - 小程序、小游戏以及 Web 通用 Canvas 渲染引擎
Stars: ✭ 1,864 (+1564.29%)
Mutual labels:  weapp, miniprogram
Omi
Front End Cross-Frameworks Framework - 前端跨框架跨平台框架
Stars: ✭ 12,153 (+10750.89%)
Mutual labels:  weapp, miniprogram
mpapi
🐤 小程序API兼容插件,一次编写,多端运行。支持:微信小程序、支付宝小程序、百度智能小程序、字节跳动小程序
Stars: ✭ 40 (-64.29%)
Mutual labels:  weapp, miniprogram
miniprogram-picker
微信小程序自定义组件Picker。本组件对微信小程序原生Picker组件进行了二次封装,开发者只需要提供固定数据结构的sourceData,再进行一些必要配置,本组件就可以自动帮助开发者处理联动逻辑。
Stars: ✭ 30 (-73.21%)
Mutual labels:  weapp, miniprogram
miniprogram-template
a wechat miniprogram template project the best practice with miniprogram-build 小程序模板最佳实践(TypeScript)
Stars: ✭ 46 (-58.93%)
Mutual labels:  miniprogram
watch-behavior
小程序自定义组件扩展 behavior, watch 属性实现
Stars: ✭ 18 (-83.93%)
Mutual labels:  miniprogram
dropDownBoxFilter
微信小程序之下拉菜单的三级筛选框
Stars: ✭ 47 (-58.04%)
Mutual labels:  weapp
WeAppBunXin
微信小程序开发之影分身术 - 一套代码生成多个小程序
Stars: ✭ 48 (-57.14%)
Mutual labels:  weapp
WordGame-wepy
基于wepy实现的微信小程序,一款文字游戏
Stars: ✭ 26 (-76.79%)
Mutual labels:  weapp
weapp-diary
小柴日记簿,记录日记的微信小程序,后台是微信云开发
Stars: ✭ 41 (-63.39%)
Mutual labels:  weapp
wx-statuslayout
微信小程序页面状态切换组件
Stars: ✭ 24 (-78.57%)
Mutual labels:  weapp
miniprogram
微信小程序过审指南
Stars: ✭ 96 (-14.29%)
Mutual labels:  miniprogram
cheers-mp
Almost 零配置微信原生小程序脚手架,vue-cli般的体验~ (゜-゜)つロ 干杯~
Stars: ✭ 32 (-71.43%)
Mutual labels:  miniprogram

weapp-template

动动你可爱的小手手点亮一颗star, 模板基于原生小程序 + axios(原生wx.request封装) + vant ui + less + iconfont + eslint 搭建, 纯粹干净, 希望能帮你少踩一些坑

启动项目

# 克隆项目
git clone https://github.com/coldblue123/weapp-template.git

# 进入项目目录
cd weapp-template

# 安装依赖
npm install

# 写入appid至项目
npm run dev 您的小程序appid

# 构建npm
微信开发者工具 工具 => 构建npm => 重新编译

目录

环境变量配置

env.js里通过设置 WE_APP_BASE_API 来设置 request 请求的基本路径

// weapp state base api
export const WE_APP_BASE_API = 'http://test001-api.xxx/v1'

自定义预处理命令配置

package.json 里的 scripts 配置 dev build

  • 通过 npm run dev ${1} ${2} 启用开发环境
  • 通过 npm run build ${1} ${2} 打包上传环境
    ${1}appid必传 ${2}BASE_API默认正式服,非必传

此功能为解决以下问题, 其作用类似于多环境变量

1.便于多个小程序appid切换
2.便于多个服务器BASE_API切换
启用自定义预处理命令配置命令, 在编译前或上传前会自动替换appidBASE_API

axios基于原生wx.request的封装

使用文档在request/README.md
app.js初始化

import initAxios from './request/create'
App({
  onLaunch: function() {
    // 初始化axios
    initAxios()
  }
})

vantUi

项目默认引入vantUi, 构建npm文件后生成 miniprogram_npm/@vant/weapp vantUi组件目录

全局状态管理

/components/mobx-example/index为全局状态管理mobx示例
全局状态管理, 不要为了用而用, 看自己的项目是否有确切的需求, 花俏的堆砌反而会造成项目拥挤

计算属性

components/computed-example/index.jscomputedwatch示例
wxs已经可以满足常规开发计算需要, 如果你的项目不严格要求组件化, 可以考虑不使用计算属性

less转wxss

vscode安装插件 easy less
vscode编写less保存会自动编译生成wxss

.vscode/settings.json中添加以下配置

"less.compile": {
      "outExt": ".wxss"
}

sass转wxss

vscode安装插件 easy sass
vscode编写scss保存会自动编译生成wxss

.vscode/settings.json中添加以下配置

  "easysass.formats": [{
    "format": "expanded",
    "extension": ".wxss"
  }]

iconfont组件

components/svg-icon 已添加至全局组件
iconfont文件在app.less中引入

<svg-icon icon="iconfont-github-o" size="108rpx" color="#333333"></svg-icon>

冗余文件过滤

上传代码审核时会有不少冗余文件, 可以在project.config.json中过滤

"packOptions": {
    "ignore": [
      {
        "type": "folder",
        "value": ".vscode"
      },
      {
        "type": "file",
        "value": ".gitignore"
      },
      {
        "type": "file",
        "value": ".eslintrc.js"
      },
      {
        "type": "file",
        "value": "package.json"
      },
      {
        "type": "file",
        "value": "package-lock.json"
      },
      {
        "type": "regexp",
        "value": "\\.md$"
      },
      {
        "type": "regexp",
        "value": "\\.less$"
      },
      {
        "type": "regexp",
        "value": "\\.scss$"
      }
    ]
  }

eslint

更改.eslint.js配置属于自己的规范, 小程序因为不支持browser显示, 所以仅在vscode中会出现错误提示, 并且在vscode中保存会自动格式化代码

  • 注意小程序全局变量会出现eslint错误, 因此需要手动添加全局变量

注意

eslint自动格式化和wxss自动编译转换在部分同学的 vscode 开发工具中不能正常使用
解决方案:
第一步: 在vscode中点击 文件=>将工作区另存为
第二步: 在vscode中点击 文件=>打开工作区(选择刚刚另存为的工作区文件, 文件的后缀为.code-workspace)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].