首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前端测试题:关于ES6的module模块,下列说法错误的是?

前端测试题:关于ES6的module模块,下列说法错误的是?

作者头像
舒克
发布于 2020-04-07 07:24:47
发布于 2020-04-07 07:24:47
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

考核内容: module模块的使用和实现

题发散度: ★★★

试题难度: ★★★

解题思路:

在 ES6 之前,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。

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

一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。下面是一个 JS 文件,里面使用export命令输出变量。

// ./file/m1.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let firstName = 'ke';
let lastName = 'shuke';
let year = 2020;
let nickname="舒克"
export { firstName, lastName, year };

// ES6模块 main.js

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { firstName, lastName, year } from './file/m1';

上面代码的实质是从m1模块加载 3 个方法,其他方法不加载。这种加载称为“编译时加载”或者静态加载,即 ES6 可以在编译时就完成模块加载,效率要比 CommonJS 模块的加载方式高。当然,这也导致了没法引用 ES6 模块本身,因为它不是对象。

浏览器实现ES6 module必须,使用firefox54以上和chrome60以上,并且chrome仍然有问题,跨域会报错,得放在服务器下测试.

ES6 的模块特性(module) 开始在浏览器端实现

浏览器

备注

可以看到module模块在浏览器支持方面并不是很好;

参考代码:

//node环境下测试:main.js

//m1.js

答案

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D、目前大部分主流浏览器都支持module模块
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 迈向前端工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ES6——模块(module)
在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种,前者用于服务器,后者用于浏览器。CommonJS 和 AMD 模块,都只能在运行时确定这些东西。下面代码的实质是整体加载fs模块(即加载fs的所有方法),生成一个对象(_fs),然后再从这个对象上面读取 3 个方法。这种加载称为“运行时加载”。
羊羽shine
2019/07/15
9140
一文彻底搞懂ES6 Module
模块,(Module),是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。
@超人
2021/07/29
5220
一文彻底搞懂ES6 Module
Js 模块规范对比 CommonJs AMD ES6
JavaScript 中的模块,本质上都是为了解决 Js 的作用域问题而定义的模块形式
上山打老虎了
2022/06/14
7050
Js 模块规范对比 CommonJs AMD ES6
前端基础进阶(十七):详解 ES6 Modules
历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。
唐志远
2022/10/27
1.3K0
ES6_11_Module 的语法(import, export,export default )
本章将介绍学习 模块加载Module 的使用, 将一个大文件,分成多个小文件,像拼积木一样组合起来使用。 定义 Module将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。 在 ES6 之前,模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。 // ES6模块 import { stat, exists, readFile } from 'fs'; 加载fs 模块得三个方法,其他方法不加载, 实现了模块的静态加载 export 命令 模块功能主
程序员海军
2021/10/11
5410
ES6_11_Module 的语法(import, export,export default )
Module 的语法
历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。 在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的层面上,实现了模块功能,而且实现得相当简单,完全可以取代 CommonJS 和 AMD 规范,成为浏览器和服务器通用的模块解决方案。
小小杰啊
2022/12/21
1.1K0
前端测试题:module模块中的注意事项,下列说法错误的?
import命令输入的变量都是只读的,因为它的本质是输入接口。也就是说,不允许在加载模块的脚本里面,改写接口。
舒克
2020/04/07
1.6K0
前端测试题:module模块中的注意事项,下列说法错误的?
jQuery源码研究:模块规范兼容
从jq官网down下最新的未压缩版代码并打开后,首先看下整体,这就是一个大型的自执行的匿名函数:
前端_AWhile
2019/08/29
1.2K0
前端测试题:module模块中,对下列语句的描述,错误的是?
使用import命令的时候,用户需要知道所要加载的变量名或函数名,否则无法加载。
舒克
2020/04/07
2.2K1
前端测试题:module模块中,对下列语句的描述,错误的是?
Module 的加载实现
上一章介绍了模块的语法,本章介绍如何在浏览器和 Node.js 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。
小小杰啊
2022/12/21
1.2K0
ECMAScript 6教程 (三) Class和Module(类和模块)
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出 原文连接,博客地址为 http://www.cnblogs.com/jasonnode/ 。该系列课程是汇智网 整理编写的,课程地址为 http://www.hubwiz.com/course/5594e91ac086935f4a6fb8ef/
笔阁
2018/09/04
5230
CommonJS、ES6模块加载机制详解
无论是前端开始后端,总会有很多概念。就拿这个前端模块加载机制来说,随着语言的发展,各种概念。
前朝楚水
2019/03/07
2.2K0
深入理解JS异步编程五(脚本异步加载)
版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/51582801
空空云
2018/09/27
1.1K0
简单的复习下前端模块化相关的知识
作为前端开发,模块化我们已经耳熟能详,我们平时接触到的 ES6 的 import,nodejs中的require他们有啥区别?
前端达人
2022/04/18
4510
JavaScript编码之路【ES6新特性之模块化】
在令人舒适的ES6(也就是 ECMAScript 2015)之前,我们的JavaScript社区里各种模块化规范和实现让人眼花缭乱。比如说CommonJS,这是一个专门针对服务器端JavaScript的模块化规范。要是你是个Node.js 的粉丝,你一定熟悉这个。它有两个特别简单术语——“require”和 “module.exports” 偶尔还会有个"exports",用这两个英勇的小家伙,你就可以加载和导出你的模块啦!
HelloWorldZ
2024/03/20
2230
07 . 前端工程化(ES6模块化和webpack打包,配置Vue组件加载器和发布项目)
推荐使用ES6模块化,因为AMD,CMD局限使用与浏览器端,而CommonJS在服务器端使用。 ES6模块化是浏览器端和服务器端通用的规范.
iginkgo18
2020/11/24
2.8K0
07 . 前端工程化(ES6模块化和webpack打包,配置Vue组件加载器和发布项目)
ES6入门之Module
ES6模块不是对象,而是通过 export 命令显式指定输出的代码,再通过import 命令输入。如下:
执行上下文
2022/07/26
3780
ES6 | ES6 export,import,export default,import()
这是因为:虽然谷歌浏览器(chrome 61之后)已经支持es6的Module了,但是不能简单的直接使用,我们需要在script标签上加一个:type="module",或者我们可以使用babel 转成es5,这样也能愉快的使用import和export 。
倾盖
2022/08/16
4250
【JS】382- JavaScript 模块化方案总结
本文包含两部分,第一部分通过简明的描述介绍什么是 CommonJS、AMD、CMD、UMD、ES Module 以及它们的常见用法,第二部分则根据实际问题指出在正常的 webpack 构建过程中该如何指定打包配置中的模块化参数。
pingan8787
2019/10/18
8890
收藏 | JavaScript 模块全面剖析
前端爱好者的知识盛宴 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。 所谓模块化主要是解决代码分割、作用域隔离、模块之间的依赖管理以及发布到生产环境时的自动化打包与处理等多个方面。 模块的优点 可维护性。 因为模块是独立的,一个设计良好的模块会让外面的代码对自己的依赖越少越好,这样自己就可以独立去更新和改进。 命名空间。 在 JavaScript 里面,如果一个变量在最顶级的函数之外声明,它就直接变成全局可用。因此,常常不小心出现命名冲突的情况。使用模块化开发来封
用户1097444
2022/06/29
5680
收藏 | JavaScript 模块全面剖析
相关推荐
ES6——模块(module)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验