首页 > 其他分享 >【前端】ES6:模块化

【前端】ES6:模块化

时间:2024-09-22 12:53:54浏览次数:15  
标签:ES6 模块化 前端 js A1 A2 export import 写法

文章目录

JavaScript有两种模块:一种是ES6模块,简称ESM,另一种是CommonJS模块,简称CJS。

CommonJS模块是Node.js专用的,与ES6模块不兼容。语法上面,两者最明显的差异是,CommonJS模块使用require()module.exports,ES6模块使用importexport

ES6模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。

1 Module语法

1.1 写法1:export default

export default A1

import a1 from "./1.js" //a1:名字随便起

1.2 写法2:export

export {A1,A2}

import {A1,A2} from "./1.js" // A1,A2必须与模块中名字一致

import {A1 as a1, A2 as a2} from "./1.js" // as:取别名

import * as obj from "./1.js"

1.3 写法3:export 方法

export function A1(){
    console.log("A1")
}
export function A2(){
    console.log("A2")
}

import {A1,A2} from "./1.js"

import {A1 as a1, A2 as a2} from "./1.js"

import * as obj from "./1.js"

1.4 混合写法

export {A1}
export default A2

import A2, {A1} from "./1.js"

2 NodeJS中的模块化

2.1 写法1:NodeJS写法

module.exports = {
	A1,
	A2
}

const obj1 = require("./1.js")

2.2 写法2:ES6写法

新建package.json文件,添加:“type”:“module”,说明NodeJS承认ES6这种模块化形式,然后就可以使用ES6模块化的写法。

export default  {
    A1,
    A2
}

import obj from './1.js'

2.3 写法3:修改文件后缀名

修改文件后缀名为.mjs即可,不需要package.json文件也可以使用ES6模块化的写法。

export default  {
    A1,
    A2
}

import obj from './1.mjs'

标签:ES6,模块化,前端,js,A1,A2,export,import,写法
From: https://blog.csdn.net/weixin_45980065/article/details/142424511

相关文章

  • 【前端】ES6:Class语法和Class继承
    文章目录1Class语法1.1类的写法1.2getter与setter1.3静态属性和静态方法2Class继承1Class语法1.1类的写法classPerson{constructor(name,age){this.name=name;this.age=age;}say(){console.log(this.name,......
  • 前端框架对比和选择与未来发展趋势
    在进行前端框架对比和选择时,可以从以下几个方面考虑:一、流行度Vue.js非常流行,拥有庞大的社区和丰富的生态系统。许多开发者选择Vue是因为它的易学性和灵活性。社区活跃意味着有大量的教程、插件和解决方案可供参考,遇到问题时容易找到帮助。React同样极为流行,被广泛应用......
  • 前端常见面试-首页性能提升、项目优化
     首页性能提升Vue首页性能提升是Vue应用开发中非常重要的一环,它直接影响用户体验和应用的加载速度。以下是一些关键的Vue首页性能提升策略:1.代码分割与懒加载路由懒加载:利用Webpack的动态导入(import())特性,实现路由级别的代码分割。这样,只有当用户访问某个路由时,其对应的组件代码......
  • 从零到英雄:开始我的前端开发之旅
    这一切都始于2017年,当我第一次开始学习如何编码时,我在Admas报名参加了为期3个月的学习课程,起初我很兴奋参加课程做作业,但我并没有真正深入执行某些操作在我被阿比亚州立大学乌图鲁分校录取学习生物化学之前的练习和练习,我必须更加专注于我的学习,被一个非常严肃的部门录取。......
  • 前端框架Vue、React、Angular、Svelte对比
    编辑在对比React、Vue.js、Angular和Svelte时,除了在高层次的特性上有显著差异,它们在核心设计理念和底层实现机制上也有明显的不同。为了清晰地理解这些框架,我们可以从以下几个方面来分析它们的核心不同点和底层不同点。1.框架类型和设计哲学React:类型:UI库(视图层)设计哲学:React......
  • 前端框架Vue、React、Angular、Svelte对比
    在对比React、Vue.js、Angular和Svelte时,除了在高层次的特性上有显著差异,它们在核心设计理念和底层实现机制上也有明显的不同。为了清晰地理解这些框架,我们可以从以下几个方面来分析它们的核心不同点和底层不同点。1.框架类型和设计哲学React:类型:UI库(视图层)设计哲......