文件作用域

.js 文件中声明的变量和方法只在当前文件中有效;不同的文件中可以声明相同名字的变量和方法。

通过全局函数 getApp() 可以获取全局的应用实例,如果需要全局的数据可以在 App() 中设置,如:

  1. // app.js
  2. App({
  3. globalData: "cortana"
  4. })

模块化

可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。

  • 小程序目前暂不支持直接引入 node_modules , 需要时,可直接复制代码到小程序的目录中,再引用使用。
  1. // util.js
  2. function getDate() {
  3. return new Date().toLocaleTimeString()
  4. }
  5. module.exports.getDate = getDate
  6. exports.getDate = getDate

​在需要使用这些模块的文件中,使用 require(path) 将公共代码引入

  1. var util = require('util.js');
  2. Page({
  3. getDate: function() {
  4. let d = util.getDate();
  5. console.log(d);
  6. }
  7. })
Tips

  1. 值得注意的是,require 引入模块时,需要使用相对路径。