抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • 开发指南
  • 运行时
  • 游戏引擎
  • 开放能力
  • 基础能力
  • 网络请求
  • 代码包
  • 用户授权
  • 渲染
  • 模块化
  • 性能优化
  • 开放接口
  • AI
  • 安全指引
  • 模块化

    收藏
    我的收藏

    模块导出机制

    开发者可以将公共代码封装为独立的JS模块文件,通过module.exportsexports对外暴露接口。需要特别注意:
    1. exports实质是module.exports的引用,修改exports指向可能导致异常,建议优先使用module.exports
    2. 抖音小游戏暂不支持直接引入node_modules,推荐以下解决方案:
      将所需依赖代码手动拷贝至项目目录
      使用平台支持的npm管理功能
    // common.js function sayHello(name) { console.log(`Hello ${name} !`) } function sayGoodbye(name) { console.log(`Goodbye ${name} !`) } module.exports.sayHello = sayHello exports.sayGoodbye = sayGoodbye

    作用域规则

    文件作用域

    JS文件中声明的变量/函数默认具有文件级作用域,不同文件中的同名变量不会相互影响。

    全局对象

    抖音小游戏提供全局对象GameGlobal(类比浏览器的window对象),可用于跨文件数据共享:
    // a.js GameGlobal.appConfig = { version: '1.0.0' } // b.js console.log(GameGlobal.appConfig.version) // 输出"1.0.0"

    注意事项

    1. 模块加载采用CommonJS规范
    2. 循环引用可能导致未定义行为
    3. 全局变量应谨慎使用,避免命名冲突