首页 > 其他分享 >模块

模块

时间:2023-09-03 18:46:55浏览次数:42  
标签:导出 uts export 模块 test import

模块

uts 支持将程序拆分为可按需导入的单独模块,模块中可以导入和导出各种类型的变量,如函数,字符串,数字,布尔值,类等。

#导出

export 语句可以将一个文件中的函数,类等导出。比如:

export const name: string = "square";
export function draw() {}
export default class Canvas {} // default 关键词支持默认导出
复制代码
  • 导出的函数声明与类声明必须要有名称。
  • export 命令可以出现在模块的任何位置,但必需处于模块顶层。
  • 在一个文件中,export、import 可以有多个,export default 仅有一个。
  • 通过 export 方式导出,在导入时要加{ },export default 则不需要。

#导入

import 语句可以将另一个文件中的函数,类等导入到当前文件。比如:

import { name as name1, draw } from "./canvas.uts" // 支持 as 语法做别名导入
import * as Utils from "./utils.uts" // Test 包含所有 export 的导出
import Canvas from "./canvas.uts" // 对应 export default 的导出
复制代码

示例

/*-----export [test.js]-----*/
export const name = 'test'
export function test(){
    console.log('test')
}
export default class Test{
    test(){
        console.log('Test.test')
    }
}
复制代码
import { name } from './test.uts'
import * as testModule from './test.uts'
import Test from './test.uts'
console.log(name)
testModule.test()
const test = new Test()
test.test()
复制代码

#指定别名

使用 as 关键字可以为导入的值指定别名

import { name as testName } from './test.uts'
import * as testModule from './test.uts'
复制代码

#数据共享和复用

可以使用 export 语句将变量或函数导出,以便其他模块可以访问和使用它们。导出的变量可以在模块内共享,并在其他模块中导入和复用。

示例

/*-----export [global.uts]-----*/
// 导出变量
export let count = 1
// 导出函数
export function addCount() {
    count++
}
复制代码
// module1.uts
import { count, addCount } from './global.uts'
console.log(count) // 1
addCount()
console.log(count) // 2

// module2.uts
import { count, addCount } from './global.uts'
console.log(count) // 2
复制代码
  • 如果只想在不同模块中复用变量而不共享其引用,可以使用函数包装变量来创建独立的作用域。

标签:导出,uts,export,模块,test,import
From: https://www.cnblogs.com/full-stack-linux-new/p/17675331.html

相关文章

  • Prism区域和模块化(Region & Module)
    Prism一直是围绕依赖注入构建的。这有助于您构建可维护和可测试的应用程序,并帮助您减少或消除对静态和循环引用的依赖。Prism区域概念(Region)什么是区域(Region)区域(Region)作为Prism当中模块化的核心功能,其主要目的是弱化了模块与模块之间的耦合关系。在普遍的应用程序开发中,界面......
  • 1774_实现树莓派小车的L298N电机驱动模块
    全部学习汇总:GitHub-GreyZhang/little_bits_of_raspberry_pi:myhackingtripaboutraspberrypi.买了一块儿树莓派,赠送了大量的资料。如今,我买的树莓派出了自己烧了个系统加单试了一下功能完全没有做其他功能扩展的尝试。近期的自我提升计划有对树莓派的学习,但是动手折腾恐怕......
  • 硬件管理平台-硬件网关-插件模块-集成(下)
    硬件管理平台-硬件网关-插件模块-集成(下)简介通过以上的几篇文章说明了xml的相关配置信息和配置项,我们可以对插件模块的剩余部分进行说明了。当网关服务加载了本地的硬件插件后就产生了硬件类型的实例,通过该实例就可以去调用下位机了。而去调用哪个下位机,我们就需要通过xml的配置......
  • ESP8266透明串口转MQTT模块使用说明
    ESP8266透明串口转MQTT模块使用说明 更新历史日期撰写备注2023.9.2YTH       目录1    模块功能...22    串口驱动...23    快速验证功能...33.1    模块默认功能:...33.2    手机开启热点.......
  • 如何在CMAKE中指定python路径——使用cmake为python编译扩展模块时指定python路径
     答案:cmake-DPython3_EXECUTABLE=/path/to/bin/python3   =================================================    参考:https://stackoverflow.com/questions/49908989/cmake-cant-find-python3   =================================== ......
  • H1H1Wifi模块-ESP-01s使用的基本操作
    H1H1Wifi模块-ESP-01s蓝牙,ESP-01s,Zigbee,NB-Iot等通信模块都是基于AT指令的设计AT指令简介AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发......
  • esp8266 wifi模块的使用
      esp8266可以配置AP模式,和Station模式,AP就是我们平时所说的热点,Station则是前面说的连接AP的设备ESP8266还有第三种模式:AP+Station,即:将AP和Station的功能合二为一,但是应用的场景不多,这里不做展示。当ESP8266设置为AP模式时,其他设备可以接入该热点,最多支持4......
  • 1772_WPS关闭WPS热点和云服务等模块
    全部学习汇总:GitHub-GreyZhang/windows_skills:someskillswhenusingwindowssystem.说起来,WPS加入的WPS热点以及WPS云服务等可能还都是很不错的功能。不过,我不是很喜欢。我喜欢我能够更加自由地去随心所欲使用我用的软件,如果可能,最好是自由软件。虽说自由软件的王国里面有O......
  • 同时创建作者和作者详情表,ModelSerializer使用,模块与包的使用,反序列化校验源码分析
    1同时创建作者和作者详情表1.1django项目改名字后顺利运行#1先改文件夹名#2改项目名#3改项目内的文件夹名#4替换掉所有文件中的drf_day04---》drf_day05#5命令行中启动:pythonmanage.pyrunserver#6setting--->django--->指定项目根路径1.1作者......
  • 同时创建一对一表关系字段(作者和作者详情为例)、ModelSerializer使用、模块与包的使用
    同时创建一对一表关系字段(作者和作者详情为例)序列化器#作者表序列化类classAuthorSerializer(serializers.Serializer):name=serializers.CharField(max_length=32)age=serializers.IntegerField()sex=serializers.CharField(max_length=16)addr......