首页 > 编程语言 >JavaScript核心功能之模块命名冲突的解决方式

JavaScript核心功能之模块命名冲突的解决方式

时间:2023-03-07 11:32:23浏览次数:39  
标签:Square JavaScript module js 冲突 模块 square1 import

避免模块命名冲突的三种解决方式

方式一:使用as重命名导出与导入

在你的 import 和 export 语句的大括号中,可以使用 as 关键字跟一个新的名字,来改变你在顶级模块中将要使用的功能的标识名字。


第一种方法:在export中使用as

// inside module.js
export {
function1 as newFunctionName,
function2 as anotherNewFunctionName
};

// inside main.js
import { newFunctionName, anotherNewFunctionName } from '/modules/module.js';


第二种方法:在import中使用as

// inside module.js
export { function1, function2 };

// inside main.js
import { function1 as newFunctionName,
function2 as anotherNewFunctionName } from '/modules/module.js';

方式二:创建模块对象

上面的方法工作的挺好,但是有一点点混乱、亢长。一个更好的解决方是,导入每一个模块功能到一个模块功能对象上


import * as Module from '/modules/module.js';

 

方式三、模块与类(class)

导出和导入类,是避免代码冲突的另一种选择

导出

class Square {
constructor(ctx, listId, length, x, y, color) {
...
}

draw() {
...
}

...
}


export { Square };

 

导入

import { Square } from './modules/square.js';

let square1 = new Square(myCanvas.ctx, myCanvas.listId, 50, 50, 100, 'blue');
square1.draw();
square1.reportArea();
square1.reportPerimeter();

 






你投入得越多,就能得到越多得价值



标签:Square,JavaScript,module,js,冲突,模块,square1,import
From: https://blog.51cto.com/u_15307418/6105658

相关文章

  • JavaScript核心功能之模块的应用
    应用模块到你的HTML脚本中的两种方式: 方式一:将type="module"放到<script>标签中,来声明这个脚本是一个模块<scripttype="module"src="main.js"></script>方式二:将模块......
  • javascript之web worker
    众所周知,js最初设计是运行在浏览器中的,为了防止多个线程同时操作DOM,带来渲染冲突问题,所以js执行器被设计成单线程。但随着前端技术的发展,js能力远不止如此,当我们遇到需要大......
  • 如何导入第三方模块
    如何导入第三方模块,以PyCharm2022.1.3(CommunityEdition)为例一、命令行配置:路径\python.exe-mpipinstall--upgradepip默认是从国外网站安装更新pip路径\pytho......
  • python-模块与包
    一、模块模块的本质:具有一定功能(代码)的py文件,或者是文件夹,就是你之前写的代码有功能的都可以叫模块1、python模块的历史python刚开始的时候,所有搞其他编程语言的的程序......
  • 7 odoo12 全屏模块开发
    全屏功能开发:1定义web模板t-name=”WebFullScreen”,预置全屏和退出全屏的a标签,退出全屏默认隐藏<?xmlversion="1.0"encoding="UTF-8"?><templatexml:space="pre......
  • Python 学习07 模块和标准库
    66、模块的导入67、标准库......
  • JavaScript对象及面向对象基础(对象、构造函数、原型对象、继承、原型链、借用构造函数
    JavaScript是一种描述性语言,是一种基于对象和事件驱动的,具有安全性能的脚本语言。JavaScript语言是通过一种叫做“原型”的方式来实现面向对象编程的。一、对象(1)内置对象Str......
  • javascript如何将字符串转为数组——三种方法
                参考:https://m.php.cn/article/498168.html......
  • 第三方模块源码下载安装步骤讲解
    第一步:在Gitee上clone下来第二步:在本机下载目录找下载好了的源码文件第三步:装完之后,首先把路径复制下来第四步:之后来到项目,在terminal里面先CD到C盘,再把刚刚复制的......
  • 新移科技4G全网通MTK6761安卓主板|安卓智能模块定制开发
    新移科技XY6761CA安卓核心板基于联发科MTK6761曦力A22平台,结合先进相机功能、丰富连接方式和轻量人工智能。是一款高性能低功耗的4G全网通安卓智能模块。   MTK6761......