微信小程序基本遵循了Common.js模块化规范
在微信小程序中,每个js文件都是一个模块,在这个文件中定义的变量和函数只在该文件中有效
不同文件的相同变量不会相互影响

在开发中,经常会把一些常用的函数或变量单独定义在一个文件中,然后在需要使用的地方引入
导出某个模块,使用**module.exports或者exports**对外暴露接口,在需要使用的地方,通过require引入

如何导出和导入模块

  1. // common.js
  2. function sayHello(name){
  3. console.log("hello" + name)
  4. }
  5. function sayGoodbye(name){
  6. console.log("Goodbye" + name)
  7. }
  8. module.exports.sayHello = sayHello
  9. exports.sayGoodbye = sayGoodbye

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

  1. const common = require('common.js')
  2. Page({
  3. hello(){
  4. common.sayHello('小明')
  5. },
  6. goodbye(){
  7. common.sayGoodbye('小红')
  8. }
  9. })

Attention

exports是module.exports的一个引用,不要随意改变exports的指向
例如:exports = {sayHello :sayHello},这样会造成错误,无法导出模块
但是module.exports = {sayHello :sayHello}是没有问题的,所以推荐使用module.exports暴露模块接口