微信小程序学习笔记之目录结构、基本配置图文详解


Posted in Javascript onMarch 28, 2019

本文实例讲述了微信小程序学习笔记之目录结构、基本配置。分享给大家供大家参考,具体如下:

结束了一段时间的学习,开始一段新的学习旅程 —— 微信小程序。现在出去找工作只会PHP、HTML+CSS、JS什么的不够了,总得会点时下热门的东西,例如微信小程序,有很多企业的招聘要求上写着:“做过微信小程序的优先”、“只要做过微信小程序的”...... 可见微信小程序的热门程度。话(fei)不(hua)多(ting)说(duo),开始学习。

首先在微信公众平台注册小程序账号:

微信小程序学习笔记之目录结构、基本配置图文详解

微信小程序学习笔记之目录结构、基本配置图文详解

 

微信小程序学习笔记之目录结构、基本配置图文详解

使用小程序账号登录微信公众平台,完成基本设置:

微信小程序学习笔记之目录结构、基本配置图文详解

下载微信web开发者工具,安装,打开(如果打不开,参考附录:微信web开发者工具不能打开的问题) 

微信扫码登录开发者工具,然后在本地文件夹创建一个小程序项目

微信小程序学习笔记之目录结构、基本配置图文详解

微信小程序学习笔记之目录结构、基本配置图文详解

(其中AppID在开发设置里面)

微信小程序学习笔记之目录结构、基本配置图文详解

生成小程序示例目录如下:

微信小程序学习笔记之目录结构、基本配置图文详解

全局配置app.json参数:

{
 /**所有页面的路径(省略.wxml后缀),唯一必填项**/
 "pages":[
 "pages/index/index", /**第一项为首页路径**/
 "pages/logs/logs"
 ],
 /**设置窗口**/
 "window":{
 "backgroundTextStyle":"light", /**下拉loading样式,dark或light**/
 "navigationBarBackgroundColor": "#fff", /**导航栏背景颜色 十六进制**/
 "navigationBarTitleText": "WeChat", /**导航栏标题内容**/
 "navigationBarTextStyle":"black", /**导航栏标题颜色 black或white**/
 "navigationStyle":"default", /**导航栏样式 default和custom(只保留右上角胶囊按钮,最低版本6.6.0)**/
 "backgroundColor":"#ffffff", /**窗口背景色**/
 "enablePullDownRefresh":false, /**是否全局开启下拉刷新**/
 "onReachBottomDistance":"50", /**页面上拉触底事件触发时距页面底部距离,单位px**/
 "backgroundColorTop":"#ffffff", /**顶部窗口的背景色(仅iOS支持,最低版本6.5.16)**/
 "backgroundColorBottom":"#ffffff", /**底部窗口的背景色(仅iOS支持,最低版本6.5.16)**/
 },
 /**顶部或底部分栏设置**/
 "tabBar": {
 "list": [{ /**栏目列表(最少2个 最多5个)**/
  "pagePath": "pages/index/index", /**页面路径(必须在pages中先定义)**/
  "text": "首页", /**分栏按钮文字**/
  /**非必填项**/
  "iconPath": "首页", /**icon图标路径**/
  "selectedIconPath": "首页" /**选中时icon图标路径**/
  /*icon说明:大小限制40kb,建议尺寸81px*81px,不支持网络图片。postion为top时不显示*/
 }, {
  "pagePath": "pages/logs/logs",
  "text": "日志"
 }],
 "color":"#ffffff", /**分栏文字颜色**/
 "selectedColor":"#ffffff", /**分栏文字选中颜色**/
 "backgroundColor":"#ffffff", /**分栏背景色**/
 /**非必填项**/
 "borderStyle":"black", /**分栏上边框颜色 black或white**/
 "position":"bottom", /**分栏位置 bottom或top**/
 },
}

页面配置xxx.json参数:

{
 "navigationBarBackgroundColor": "#000000", /**导航栏背景颜色 十六进制**/
 "navigationBarTextStyle": "white", /**导航栏标题颜色 black或white**/
 "navigationBarTitleText": "页面标题", /**导航栏标题内容**/
 "backgroundColor": "#ffffff", /**窗口背景色**/
 "backgroundTextStyle": "dark", /**下拉loading样式,dark或light**/
 "enablePullDownRefresh":false, /**是否全局开启下拉刷新**/
 "onReachBottomDistance":"50", /**页面上拉触底事件触发时距页面底部距离,单位px**/
 "onReachBottomDistance":false, /**设置为 true 则页面整体不能上下滚动;只在页面配置中有效**/
 /**说明:页面的.json只能设置window相关配置项,无需写window这个键。**/
}

工具配置project.config.json参数:

{
	"description": "项目配置文件", /**描述**/
	/**打包配置选项**/
	"packOptions": {
		"ignore": [{
	  "type": "file", /**文件**/
	  "value": "test/test.js"
	 }, {
	  "type": "folder", /**文件夹**/
	  "value": "test"
	 }, {
	  "type": "suffix", /**后缀**/
	  "value": ".webp"
	 }, {
	  "type": "prefix", /**前缀**/
	  "value": "test-"
	 }]
	},
	/**项目设置**/
	"setting": {
		"urlCheck": true, /**是否检查安全域名和TLS版本**/
		"es6": true, /**是否启用 es6 转 es5**/
		"postcss": true, /**上传代码时样式是否自动补全**/
		"minified": true, /**上传代码时是否自动压缩**/
		"newFeature": true
	},
	"compileType": "miniprogram", /**编译类型 miniprogram为普通小程序项目,plugin为小程序插件项目**/
	"libVersion": "2.3.0", /*基础库版本*/
	"appid": "wx1aebd07bdcf596b8", /*项目appid,只在新建项目时读取*/
	"projectname": "ceshi", /**项目名字,只在新建项目时读取**/
	/**调试配置选项**/
	"debugOptions": {
		"hidedInDevtools": []
	},
	"isGameTourist": false, /**小游戏**/
	"condition": {
		"search": {
			"current": -1,
			"list": []
		},
		"conversation": {
			"current": -1,
			"list": []
		},
		"game": {
			"currentL": -1,
			"list": []
		},
		"miniprogram": {
			"current": -1,
			"list": []
		}
	}
}

WXML模板:充当类似HTML 角色,区别是标签不一致(view、button、text等)、渲染和逻辑分离,多了一些 wx:if 这样的属性以及 {{ }} 这样的表达式。

WXSS 样式:充当类似CSS 角色,仅支持部分CSS选择器,新增尺寸单位rpx,全局样式app.wxss作用于小程序所有页面,局部页面样式page.wxss仅对当前页面生效。

JS 交互逻辑:处理用户操作,例如响应用户的点击、获取用户的位置等。

【例】在页面中点击声明bindtap属性的button,调用JS中声明的clickMe方法来响应这次点击操作,实现把页面中的msg显示为"Hello World"。

测试页面test.js:

//test.js
const util = require('../../utils/util.js')
Page({
 clickMe: function() {
 this.setData({ msg: "Hello World" })
 }
})

测试页面test.wxml:

<!--test.wxml-->
<view>{{ msg }}</view>
<button bindtap="clickMe">点击我</button>

微信小程序学习笔记之目录结构、基本配置图文详解

附:微信web开发者工具不能打开的问题解决方法

今天新装的微信开发者工具,安装完成以后就是打不开,点解没有反应,win10   64的系统,各种百度,最后找到解决的方案

微信小程序学习笔记之目录结构、基本配置图文详解

把这些都关闭了就OK了!!!

希望本文所述对大家微信小程序设计有所帮助。

Javascript 相关文章推荐
倒记时60刷新网页的js代码
Feb 18 Javascript
JavaScript中伪协议 javascript:使用探讨
Jul 18 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 Javascript
灵活的理解JavaScript中的this指向
Feb 25 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
Jul 12 Javascript
浅谈Web页面向后台提交数据的方式和选择
Sep 23 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 Javascript
Webpack 4如何动态切割JS注入文件名详解
Jul 09 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
jquery实现简易验证插件封装
Sep 13 jQuery
JavaScript ES 模块的使用
Nov 12 Javascript
vue-cli中使用高德地图的方法示例
Mar 28 #Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 #jQuery
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 #Javascript
vue+iview/elementUi实现城市多选
Mar 28 #Javascript
node中使用es6/7/8(支持性与性能)
Mar 28 #Javascript
微信小程序开发实现的IP地址查询功能示例
Mar 28 #Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 #Javascript
You might like
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
js精确的加减乘除实例
2017/11/14 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
python Shapely使用指南详解
2020/02/18 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
优秀少先队工作者事迹材料
2014/05/13 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
研究生导师推荐信
2015/03/25 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
Golang获取List列表元素的四种方式
2022/04/20 Golang
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python