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


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 相关文章推荐
JavaScript 异步调用框架 (Part 5 - 链式实现)
Aug 04 Javascript
JavaScript 选中文字并响应获取的实现代码
Aug 28 Javascript
jquery插件开发注意事项小结
Jun 04 Javascript
js操作label给label赋值及取label的值示例
Nov 07 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
Jan 07 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
Dec 03 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 Javascript
JavaScript之class继承_动力节点Java学院整理
Jul 03 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
基于canvasJS在PHP中制作动态图表
May 30 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
简述 Python 的类和对象
2020/08/21 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
.NET面试问题集
2015/12/08 面试题
J2EE模式面试题
2016/10/11 面试题
中专生的个人自我评价
2013/12/11 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
化妆品店促销方案
2014/02/24 职场文书
委托公证书
2014/04/08 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
护士医德医风心得体会
2016/01/25 职场文书