Modular
Skop Fail
Pembolehubah dan fungsi yang diisytiharkan dalam fail JavaScript hanya sah dalam fail tersebut dan fungsi dengan nama yang sama boleh diisytiharkan dalam fail yang berbeza tanpa menjejaskan satu sama lain.
Aplikasi global boleh diperolehi melalui fungsi global getApp()
Jika data global diperlukan, ia boleh ditetapkan dalam App()
, seperti: 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
是module.exports
的一个引用,因此在模块里边随意更改exports
的指向会造成未知的错误。所以我们更推荐开发者采用module.exports
来暴露模块接口,除非你已经清晰知道这两者的关系。- 小程序目前不支持直接引入
node_modules
, 开发者需要使用到node_modules
时候建议拷贝出相关的代码到小程序的目录中。
// common.js function sayHello(name) { console.log('Hello ' + name + '!') } module.exports = { sayHello: sayHello }
在需要使用这些模块的文件中,使用require(path)
.
var common = require('common.js') Page({ helloMINA: function() { common.sayHello('MINA') } })rrreeerrreee
ModularizationKami boleh mengekstrak beberapa kod biasa ke dalam fail js yang berasingan sebagai modul. Modul hanya boleh mendedahkan antara muka kepada dunia luar melalui module.exports
.
module.exports
. Perlu diambil perhatian bahawa:
eksport ialah rujukan kepada module.exports
, jadi menukar penunjukeksport
dalam modul akan menyebabkan Punca ralat yang tidak diketahui. Oleh itu, kami mengesyorkan pembangun menggunakanmodule.exports
untuk mendedahkan antara muka modul, melainkan anda sudah mengetahui dengan jelas hubungan antara kedua-duanya.- Program mini pada masa ini tidak menyokong pengenalan langsung
node_modules
Apabila pembangun perlu menggunakannode_modules
, adalah disyorkan untuk menyalin kod yang berkaitan ke direktori mini. program.
Dalam fail yang perlu menggunakan modul ini, gunakan require(path)
untuk memperkenalkan kod awam.
Sintaks ES6 dan sokongan API
Aplet WeChat berjalan pada tiga terminal: iOS, Android dan alat pembangun untuk penyahpepijatan
- Pada iOS, kod javascript applet berjalan dalam JavaScriptCore
- Pada Android Pada alat pembangunan, alat pembangunan kod javascript program mini dihuraikan melalui masih terdapat beberapa perbezaan, yang telah menyebabkan masalah besar kepada banyak pembangun.