模块化

优质
小牛编辑
131浏览
2023-12-01

文件作用域

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

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

// app.js
App({
  globalData: "cortana"
})

模块化

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

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

module.exports.getDate = getDate
exports.getDate = getDate

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

var util = require('util.js');
Page({
  getDate: function() {
    let d = util.getDate();
    console.log(d);
  }
})
Tips
  1. 值得注意的是,require 引入模块时,需要使用相对路径。