首页 > 其他分享 >cocos creator模块

cocos creator模块

时间:2023-01-10 22:56:39浏览次数:40  
标签:cocos creator default getName ts js cc export 模块

cocos creator的模块系统用的不是标准的common/esm,但实现了common/esm的功能(虽然有些小问题)

1 支持esm和common.js两种形式

// getName.js commonjs形式

function getName() {    return 'honghong' } module.exports = getName   // getName.js  esm形式 function getName() {     return 'honghong' } export default getName   // test.ts import * as getName from './getName' const {ccclass, property} = cc._decorator; @ccclass export default class NewClass extends cc.Component {   @property(cc.Label)   label: cc.Label = null;   start () {     this.label.string = getName()   } }   2:ts导入js文件, export default 可能存在问题 只能使用import * as getName from './getName'形式  或者 const getName = require('./getName)形式,否则会报错  为什么呢?

getName: [function(t, e, o) {
  "use strict";
  cc._RF.push(e, "b66a1LXyMVE2Zx7M80Prh6Y", "getName"),
  o.__esModule = !0,
  o.default = void 0;
  o.default = function() {
    return "honghong"
  },
  e.exports = o.default,
  cc._RF.pop()
}

可见export default的形式是会被转化为exports.default的形式的

所以import getName from './getName'

getName并不是想要的结果,必须加个default,  getName.default

为什么ts导入ts可以,因为ts转js的时候,给转码了

问题来了,为什么ts可以,js 不可以?请对比编译之后的代码,发现他们的生产文件有所不同

 为什么ts没问题,因为ts是所谓的强类型,而用require是会报错的

是不是官方的本意 ts文件用es6形式, js用commonjs形式? 

标签:cocos,creator,default,getName,ts,js,cc,export,模块
From: https://www.cnblogs.com/honghong87/p/17041357.html

相关文章

  • 【首页】推荐店铺模块开发和滑块处理
    一、【首页】推荐店铺模块开发和滑块处理1.1完成后的效果图:1.2components/index目录下新建Shop.vue组件1.3pages/index/index.vue引入Shop.vue组件1.4Shop.vue组......
  • 无线模块的参数介绍和选型要点
    01通信频点通信频点:无线模块在工作的时候向外辐射出去的电波频率;无线串口模块常用的频点大致可以分为170MHz、230MHz、315MHz、433MHz、490MHz、780MHz、868MHz、915MHz......
  • 如何优雅地升级一个Creator 2.x 项目到 3.6.2 ?
    最近,我将之前用CocosCreator2.x写的一个微信小游戏《球球要回家》移植到了CocosCreator3.6.2上。编程语言也从JavaScript迁移到了TypeScript,并成功上线微信小......
  • 详论硬件模块开发的流程和优点
    模块开发就是将系统根据功能不同划分成各种模块,以模块为单位的程序设计,实现新的系统。那么硬件模块开发就是将硬件功能划分成各个功能模块,硬件模块之间建立和组合,达到硬件产......
  • pinia三个核心模块
    1、核心模块-------store属性在user.ts中配置Store 在app.vue中使用  2、核心模块GettersTips:getter属性值是一个对象,该对象里面是各种各样的方法类似于Vue......
  • m基于QPSK调制解调的无线图像传输matlab仿真,包括扩频解扩均衡等模块
    1.算法描述       软件无线电在无线通信领域被称为是自模拟通信过渡到数字通信之后的又一次革命,在军用和民用方面都有着广阔的应用。它是一种新的无线通信技术,基于......
  • m基于QPSK调制解调的无线图像传输matlab仿真,包括扩频解扩均衡等模块
    1.算法描述软件无线电在无线通信领域被称为是自模拟通信过渡到数字通信之后的又一次革命,在军用和民用方面都有着广阔的应用。它是一种新的无线通信技术,基于通用的可编程的......
  • 振弦采集模块参数配置工具的使用
    振弦采集模块参数配置工具的使用通常情况下,在计算机端对模块进行测试、读写时,可使用一些通用的免费工具完成,如基于MODBUS通讯协议的调试工具MODSCAN、通用串口调试助手......
  • 振弦采集模块参数配置工具的使用
    河北稳控科技振弦采集模块参数配置工具的使用 通常情况下,在计算机端对模块进行测试、读写时,可使用一些通用的免费工具完成,如基于MODBUS通讯协议的调试工具MODSCAN、......
  • 用opencv的DNN模块做Yolov5目标检测(纯干货,源码已上传Github)
    最近在微信公众号里看到多篇讲解yolov5在openvino部署做目标检测文章,但是没看到过用opencv的dnn模块做yolov5目标检测的。于是,我就想着编写一套用opencv的dnn模块做yolov5......