tencent cloud

文档反馈

模块化

最后更新时间:2024-07-12 17:09:23

    require

    引入模块。返回模块通过 module.exportsexports 暴露的接口。
    需要引入其他分包的模块的时候,可以通过配置 callback 回调函数来异步获取指定模块。异步获取失败的时候,将会触发 error 回调函数。

    参数

    名称
    类型
    必填
    说明
    path
    string
    需要引入模块文件相对于当前文件的相对路径,或npm模块名,或npm模块路径。默认不支持绝对路径,可通过配置 resolveAlias 自定义路径映射。
    callback
    function
    异步加载成功回调函数,该回调函数参数为成功加载的模块。
    error
    function
    异步加载失败回调函数,该回调函数参数为错误信息和模块名。

    require.async 链式调用

    可以通过链式调用的方式使用。
    require
    .async('path/to/mod')
    .then((mod) => {
    console.log(mod)
    })
    .catch(({ errMsg, mod }) => {
    console.error(`path: ${mod}, ${errMsg}`)
    })

    示例代码

    同一包内调用

    // common.js
    function sayHello(name) {
    console.log(`Hello ${name} !`)
    }
    function sayGoodbye(name) {
    console.log(`Goodbye ${name} !`)
    }
    module.exports.sayHello = sayHello
    exports.sayGoodbye = sayGoodbye
    var common = require('common.js')
    Page({
    helloMINA: function() {
    common.sayHello('MINA')
    },
    goodbyeMINA: function() {
    common.sayGoodbye('MINA')
    }
    })

    跨分包异步调用

    // subpackage/common.js 分包 common 文件
    export const sayHello = () => console.log("hello")
    // pages/index.js 主包页面
    let common;
    require('../../subpackage/common.js', (mod) => {
    common = mod
    }, ({ errMsg, mod }) => {
    console.error(`path: ${mod}, ${errMsg}`)
    })
    Page({
    sayHello() {
    common && common.sayHello()
    }
    })

    module

    Object module

    当前模块对象

    属性

    属性
    类型
    说明
    exports
    Object
    模块向外暴露的对象,使用require引用该模块时可以获取

    示例代码

    // common.js
    function sayHello(name) {
    console.log(`Hello ${name} !`)
    }
    function sayGoodbye(name) {
    console.log(`Goodbye ${name} !`)
    }
    module.exports.sayHello = sayHello
    exports.sayGoodbye = sayGoodbye

    exports

    Object exports

    module.exports 的引用。

    示例代码

    // common.js
    function sayHello(name) {
    console.log(`Hello ${name} !`)
    }
    function sayGoodbye(name) {
    console.log(`Goodbye ${name} !`)
    }
    module.exports.sayHello = sayHello
    exports.sayGoodbye = sayGoodbye
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持