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


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 相关文章推荐
预加载css或javascript的js代码
Apr 23 Javascript
10个实用的脚本代码工具
May 04 Javascript
由JavaScript技术实现的web小游戏(不含网游)
Jun 12 Javascript
javascript计算用户打开网页的停留时间
Jan 09 Javascript
JS中获取函数调用链所有参数的方法
May 07 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
May 07 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
May 17 Javascript
vue element upload实现图片本地预览
Aug 20 Javascript
JavaScript数值类型知识汇总
Nov 17 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
Feb 06 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php中JSON的使用方法
2015/04/30 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
表单内同名元素的控制
2006/11/22 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
js性能优化技巧
2015/11/29 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
javascript防抖函数debounce详解
2019/06/11 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python实现完整的事务操作示例
2017/06/20 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
简单了解python变量的作用域
2019/07/30 Python
Python 实现自动导入缺失的库
2019/10/29 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
Python短信轰炸的代码
2020/03/25 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
简单介绍Object类的功能、常用方法
2013/10/02 面试题
医学专业毕业生个人求职信
2013/12/25 职场文书
入党申请自荐书范文
2014/02/11 职场文书
加强作风建设心得体会
2014/10/22 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
DQL数据查询语句使用示例
2022/12/24 MySQL