Modulaire
Portée du fichier
Les variables et fonctions déclarées dans un fichier JavaScript ne sont valides que dans ce fichier ; les variables et les fonctions portant le même nom peuvent être déclarées dans différents fichiers sans s'affecter mutuellement.
L'instance globale de l'application peut être obtenue via la fonction globale getApp()
Si des données globales sont nécessaires, elles peuvent être définies dans App()
, par exemple : 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
ModularisationNous pouvons extraire du code commun dans un fichier js séparé en tant que module. Les modules ne peuvent exposer les interfaces au monde extérieur que via module.exports
.
module.exports
. Il est à noter que :
exports
est une référence àmodule.exports
, donc changer le pointeur deexports
dans le module provoquera une erreur inconnue. Par conséquent, nous recommandons aux développeurs d'utilisermodule.exports
pour exposer les interfaces des modules, à moins que vous ne connaissiez déjà clairement la relation entre les deux.- Le mini programme ne prend actuellement pas en charge l'introduction directe de
node_modules
Lorsque les développeurs doivent utilisernode_modules
, il est recommandé de copier le code correspondant dans le répertoire du mini. programme.
Dans les fichiers qui doivent utiliser ces modules, utilisez require(path)
pour introduire le code public.
Syntaxe ES6 et support API
L'applet WeChat s'exécute sur trois terminaux : iOS, Android et des outils de développement pour le débogage
- Sur iOS, le code javascript de l'applet s'exécute en JavaScriptCore
- Sur Android Sur l'outil de développement, le Le code javascript du mini-programme est analysé via Il existe encore quelques différences, ce qui a causé de gros problèmes à de nombreux développeurs.