上一节,讲了页面引用模块的概念,如果是模块之前引用呢?源码:https://github.com/limingios/wxProgram.git 中的No.8

小程序的WXS模块

js代码块可以在页面中被引入使用


定义*.wxs,module.exports暴露接口和属性

从私有到公用的概念,通过暴露就可以公有话。

require函数

官方的阐述
>https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/01wxs-module.html

5.演示模块之间的引用

在.wxs模块中引用其他 wxs 文件模块,可以使用 require 函数。
引用的时候,要注意如下几点:
* 只能引用 .wxs 文件模块,且必须使用相对路径。
* wxs 模块均为单例,wxs 模块在第一次被引用时,会自动初始化为单例对象。多个页面,多个地方,多次引用,使用的都是同一个 wxs 模块对象。
* 如果一个 wxs 模块在定义之后,一直没有被引用,则该模块不会被解析与运行。

wxs.wxml

<!wxs.wxml--><view class="container">  <wxs src="../wxs/module.wxs" module="item"></wxs>  <view>{{item.name}}</view>  <view>{{item.age}}</view>  <view>{{item.method("这是一个参数传递")}}</view>  <view>{{item.name}}</view>  <view>{{item.age}}</view>  <view>{{item.method("这是一个参数传递")}}</view>  <view>{{item.name}}</view>  <view>{{item.age}}</view>  <view>{{item.method("这是一个参数传递")}}</view></view>

module.wxs

// module.wxsvar module2 = require("../wxs/module2.wxs")var name ="个人网站:idig8.com"var age = 18;var method = function(obj){  console.log(module2.name);  console.log(module2.age);  return obj;}module.exports ={  name :name,  age : age,  method :method}

module2.wxs

// module.wxsvar name ="公众号:编程坑太多"var age = 28;var method = function(obj){  return obj;}module.exports ={  name :name,  age : age,  method :method}

PS:这次就是针对模块引入模块的方式,这种在实际开发中也是很常见的。