1. 程式人生 > >微信小程式 引用其他js裡的方法

微信小程式 引用其他js裡的方法

微信小程式中,在微信官方開發文件我們可以知道 小程式的目錄結構 。

一個小程式頁面由四個檔案組成,一個小程式頁面的四個檔案具有相同路徑與檔名,由此我們可知一個小程式頁面對應著一個跟頁面同名的js檔案。可是當有些公共方法,我們想抽離出來成為一個獨立公共的js檔案。我們該如何實現呢。

在根目錄下有一個app.js檔案。這個根目錄的js 檔案我們可以通過getApp()輕鬆呼叫。

//app.js

App({
   globaData:'huangenai'
 })
複製程式碼
//test.js
var app = getApp();
Page({
 onLoad: function () {
 console.log(
app.globaData);
 } 
})
複製程式碼

在開發者工具的 Console可以看到

那麼當一些通用的公共方法我們抽出來,在根目錄下新建一個utils資料夾,新建util.js在這裡我們可以將通用的方法寫在這。

複製程式碼
util.js

//正則判斷
function Regular(str, reg) {
  if (reg.test(str))
    return true;
  return false;
}

//是否為中文
function IsChinese(str) {
  var reg = /^[\u0391-\uFFE5]+$/;
  return Regular(str, reg);
}

module.exports 
= { getRequestUrl: "http://localhost:59637",//獲得介面地址 IsChinese: IsChinese, }
複製程式碼 複製程式碼
//test.js

var util = require('../../utils/util.js');
Page({
    onLoad: function () {
    console.log("判斷是否為中文:"+util.IsChinese('測試'));
    console.log("輸出介面url:"+util.getRequestUrl);
    }
})
複製程式碼

在開發者工具的 Console可以看到

注意了,在util.js裡的 Regular()方法,我們不可以這樣呼叫util.Regular(),因為我們沒有用 module.exports

 來暴露模組介面

如果直接 呼叫則會出現這樣的錯誤

thirdScriptError
util.Regular is not a function;at "pages/test/test" page lifeCycleMethod onLoad function
TypeError: util.Regular is not a function