小程序module.exports 或者 exports

2019-07-13  本文已影响0人  松鼠煮鳜鱼

我们通过开发者工具快速创建了一个 QuickStart 项目。你可以留意到这个项目里边生成了一个utils/util.js 可以将一些公共的代码抽离成为一个单独的 js (utils.js)文件,作为一个模块;

模块只有通过 module.exports 或者 exports 才能对外暴露接口。

image.png
module.exports = {
  formatTime: formatTime,
  '对外方法名':'本地方法名'
}

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

//util.js
function sayHello(name) {
    console.log(`Hello ${name} !`)
}
module.exports = {
    sayHello: sayHello
}
var util= require('../../utils/util.js')
Page({
     data:[],
      onLoad: function() {
        console.log(util.sayHello('Cc'))
    },
})

ES6

export default向外暴露的成员是匿名函数,可以使用任意的变量来接收,且只能暴露一次

import xx from 'xxx'会把文件中export default的内容都打包到文件中

export 向外暴露的成员只能使用 {} 接收,这种情况叫做 按需导出

而import {func1,func2,func3} from 'xxx' 只会把文件中的func导入

  1. 当文件存放着很多方法,变量不同场景需要引用不同方法,请用export
  2. 当类只有某几个方法,并且每次引用都需要用到里面的大部分方法,请用export default, 毕竟还有方法提示
  3. 当值导出一个方法,类请用export default
  4. 如果一个文件只会被某一个其他文件的子文件,不会被其他文件引用,并且其中的方法都会被用到, 考虑用export default。比如某个业务文件夹下的action.js,用的时候用import api from './action'; 方便识别,不用重复在import的{}中添加,也可以用方法提示。
  5. 如果一个文件兼有以上需求 可以同时export和export default
上一篇下一篇

猜你喜欢

热点阅读