小程序module.exports 或者 exports
2019-07-13 本文已影响0人
松鼠煮鳜鱼
我们通过开发者工具快速创建了一个 QuickStart 项目。你可以留意到这个项目里边生成了一个utils/util.js 可以将一些公共的代码抽离成为一个单独的 js (utils.js)文件,作为一个模块;
模块只有通过 module.exports 或者 exports 才能对外暴露接口。
image.pngmodule.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'))
},
})
- tip: require 暂时不支持绝对路径
ES6
export default向外暴露的成员是匿名函数,可以使用任意的变量来接收,且只能暴露一次
import xx from 'xxx'会把文件中export default的内容都打包到文件中
export 向外暴露的成员只能使用 {} 接收,这种情况叫做 按需导出
而import {func1,func2,func3} from 'xxx' 只会把文件中的func导入
- 当文件存放着很多方法,变量不同场景需要引用不同方法,请用export
- 当类只有某几个方法,并且每次引用都需要用到里面的大部分方法,请用export default, 毕竟还有方法提示
- 当值导出一个方法,类请用export default
- 如果一个文件只会被某一个其他文件的子文件,不会被其他文件引用,并且其中的方法都会被用到, 考虑用export default。比如某个业务文件夹下的action.js,用的时候用import api from './action'; 方便识别,不用重复在import的{}中添加,也可以用方法提示。
- 如果一个文件兼有以上需求 可以同时export和export default