微信小程序之模塊化
'''
官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/module.html
'''
可以將一些公共的代碼抽離成為一個單獨的 js 文件,作為一個模塊。模塊只有通過 module.exports 或者 exports 才能對外暴露接口。
注意:
- exports 是 module.exports 的一個引用,因此在模塊里邊隨意更改 exports 的指向會造成未知的錯誤。所以更推薦開發者采用 module.exports
來暴露模塊接口,除非你已經清晰知道這兩者的關系。
- 小程序目前不支持直接引入 node_modules , 開發者需要使用到 node_modules 時候建議拷貝出相關的代碼到小程序的目錄中,或者使用小程序支持的 npm 功能。
導入模塊--common.js
//common.js
var studentList = [
{
name: "xiaoming",
age: "22",
hobby: "sleep"
},
{
name: "xiaohong",
age: "22",
hobby: {
one: "eat",
two: "eatfood"
}
}
]
//模塊化
module.exports = {
studentList: studentList
}
var common = require("../aa/common.js")
//獲取應用實例
var app = getApp()
Page({
data: {
},
onLoad: function () {
this.setData({
studentList:common.studentList
});
}
})
官方示例 --導入函數(模塊)
// common.js
function sayHello(name) {
console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {
console.log(`Goodbye ${name} !`)
}
module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye
# 在需要使用這些模塊的文件中,使用 require 將公共代碼引入
var common = require('common.js')
Page({
helloMINA: function() {
common.sayHello('MINA')
},
goodbyeMINA: function() {
common.sayGoodbye('MINA')
}
})