在javaScript檔案中宣告的變數和函數只在該檔案中有效;不同的檔案中可以生命相同的名字的變數和函數,不會互相影響。
透過全域函數getApp()
可以取得全域的應用實列,如果需要全域的資料可以在app()
中設定,如:
//app.jsapp({ globalData:1})
// a.js// The localValue can only be used in file a.js.var localValue = 'a'// Get the app instance.var app = getApp()// Get the global data and change it.app.globalData++
// b.js// You can redefine localValue in file b.js, without interference with the localValue in a.js. var localValue = 'b'// If a.js it run before b.js, now the globalData shoule be 2.console.log(getApp().globalData)
可以將一些公共的程式碼抽離成為一個單獨的js文件,作為一個模組化。模組化只有透過module.exports
或 exports 才能對外暴露介面。
要注意的是:
wxports
是module.exports
的一個引用,因此在模組化裡邊隨意更改exports
的指向會造成未知的錯誤。所以更建議開發者採用module.exports
來暴露模組接口,除非你已經清晰知道這兩者的關係。
小程式目前不支援直接引入node_modules
,開發者需要使用到node_modules
時候建議拷貝出相關的程式碼到小程式的目錄中
//commont.jsfunction sayHello(name){ console.log('------ hello ' + name +'====='); } module.exports.sayHello = sayHello;
//index.jsvar common = require('../commont/commont.js'); Page({ //加载视图的时候 onLoad:function (){ //调用 common.sayHello('dqk'); })
控制台輸出:
require 暫時不支援絕對路徑
以上是微信小程式中檔案作用域解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!