1.模块化:
我们可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。
需要注意的是:
exports 是 module.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。所以我们更推荐开发者采用 module.exports 来暴露模块接口
//common.js(单独抽离出来的模块)
var local_database = [
{
date: "Nov 03 2016",
title: "正是虾肥蟹壮时",
imgSrc: "../../images/post/crab.png",
avatar: "../../images/avatar/1.png",
reading: "112",
collection: "96"
},
{
date: "Sep 18 2016",
title: "中国狸花猫",
imgSrc: "../../images/post/cat.png",
avatar: "../../images/avatar/2.png",
reading: "130",
collection: "25"
}
]
// 这里通过moudle.exports来暴露对外接口,把上面的变量 local_database赋值给postList,使postList变量使之对外开放
module.exports={
postList:local_database
}
// a.js
//在需要使用common.js模块文件时,使用 require(path) 将公共代码引入,并用变量postsData来保存。
var postsData=require("../../data/posts-data.js");
Page({
data:{
},
onLoad:function(options){
this.setData({
posts_key:postsData.postList
//postsData代表引入的整个common.js模块文件
//postsData.postList代表common.js中local_database变量
});
}
})
总结:首先需要单独抽离出来一个common.js模块文件,在这个js文件中有一个local_database数组变量,其次在再使用module.exports来暴露一个对外的接口postList,然后再在需要使用common.js模块文件的地方使用require(path) 将公共代码引入,并用变量postsData来保存