我們通過開發者工具快速創建了一個 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'))
},
})
- 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