module.exports小程序模塊化,require


小程序模塊化
可以將一些公共的代碼抽離成為一個單獨的 js 文件,作為一個模塊。模塊只有通過 module.exports 或者 exports 才能對外暴露接口。

tips:exports 是 module.exports 的一個引用,因此在模塊里邊隨意更改 exports 的指向會造成未知的錯誤。所以更推薦開發者采用 module.exports 來暴露模塊接口,除非你已經清晰知道這兩者的關系。

// common.js
function sayHello(name) {
  console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {
  console.log(`Goodbye ${name} !`)
}

module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye

在需要使用這些模塊的文件中,使用 require(path) 將公共代碼引入

const common = require('common.js')
Page({
  helloMINA() {
    common.sayHello('MINA')
  },
  goodbyeMINA() {
    common.sayGoodbye('MINA')
  }
})

tips:require 暫時不支持絕對路徑。

封裝!!!

var project = 'm';        //項目
var apiHost = 'https://xxx.com/'+project;     //接口地址
var apiList = {
     "userInfo": "/User/userInfo",
};

function getData(cmd, data, cb) {
     if (cmd in apiList) {
          var new_cmd = apiList[cmd];
          var hosts = apiHost + new_cmd;
          wx.request({
               url: hosts,
               data: data,
               method: data.method ? data.method : 'GET',
               header: {
                    "Content-Type": "application/x-www-form-urlencoded"
               },
               success: function(res) {
                    typeof cb == 'function' && cb(res.data);
               },
               fail: function() {
                    console.log('網絡請求失敗');
               }
          });

     } else {
          return false;
     }
}

// 拋出
module.exports = {
     getData: getData,
}

引入

// 相對路徑
var getData = require('../../utils/getData.js');

使用

getData.getData('userInfo', {
     openid: app.globalData.openid,
     method: "POST"
}, function(data) {
     if (!data.errno) {
          that.setData({
               userInfo: data.userInfo,
          })
     } else {
         // 提示
     }
})	


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM