我的编程空间,编程开发者的网络收藏夹
学习永远不晚

es6中怎么导入资源

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

es6中怎么导入资源

本篇内容介绍了“es6中怎么导入资源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在es6中,可使用import语句或者import()来导入资源。import命令用于导入指定模块(资源文件),语法“import {成员} from '模块标识符'”;import()用于导入文件或模块,语法“import(资源位置)”。

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

es6中可以进行模块化开发,在ES6模块化规范中定义:

  • 每个js文件都是一个独立的模块

  • 导入其它模块成员使用import关键字

  • 向外共享模块成员使用expost关键字

export命令

export

模块功能主要由两个命令构成:exportimportexport命令用于规定模块的对外接口,import命令用于导入其他模块提供的功能。

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

//test1.js
export var firstName = 'mike'
export var lastName = 'Jack'

上面代码是test1.js文件,保存了用户信息。ES6将其视为一个模块,里面用export命令对外部输出了三个变量。
export的写法,除了像上面哪样,还有另一种写法:

//test1.js
var firstName = 'mike'
var lastName = 'Jack'
export {firstName, lastName}

export命令除了输出变量,还可以输出函数或类

export function add(x, y){
    return x + y
}

export命令可以出现在模块得任意位置,只要处于模块顶层就可以。如果处于块级作用域内,就会报错,import命令也是如此

as

通常情况下,export输出的变量就是本来的名字,但是可以使用as关键字重命名

function v1() { ... }
function v2() { ... }

export {
  v1 as streamV1,
  v2 as streamV2,
  v2 as streamLatestVersion
};

import命令

使用export命令定义了模块的对外接口以后,其他js文件就可以通过import命令加载这个模块

import {firstName, lastName} from './test1.js'
console.log(firstName,lastName)

如果想为输入的变量重新取一个名字,import命令要使用as,将输入的变量重命名。

import {lastName as suName} from './test1.js'

import命令输入的变量都是只读的,因为它的本质是输入接口。也就是说,不允许在加载模块的脚本里面改写接口。

import {a} from './xxx'
a = {}   //报错

import后面的from指定模块文件的位置,可以是相对路径,也可以是绝对路径,.js后缀可以省去。如果只是模块名,不带有路径,那么必须有配置文件,告诉JavaScript引擎该模块的位置

模块的整体加载

除了指定加载某个输出值,还可以使用整体加载,即用星号(*)指定一个对象,所有输出值都加载在这个对象上面。

下面是一个circle.js文件,它输出两个方法areacircumference

// circle.js
export function area(radius) {
  return Math.PI * radius * radius;
}

export function circumference(radius) {
  return 2 * Math.PI * radius;
}

现在,加载这个模块。

// main.js

import { area, circumference } from './circle';
console.log('圆面积:' + area(4));
console.log('圆周长:' + circumference(14));

上面写法是逐一指定要加载的方法,整体加载的写法如下。

import * as circle from './circle';
console.log('圆面积:' + circle.area(4));
console.log('圆周长:' + circle.circumference(14));

注意,模块整体加载所在的那个对象(上例是circle),应该是可以静态分析的,所以不允许运行时改变。下面的写法都是不允许的。

import * as circle from './circle';

// 下面两行都是不允许的
circle.foo = 'hello';
circle.area = function () {};

export default 命令

export default用来为模块指定默认输出

//export-default.js
export default function(){
    console.log('foo')
}

其他模块加载该模块时,import命令可以为该匿名函数指定任意名字

import cus from './export-default.js'

export default命令用在非匿名函数前,也是可以的,但是在模块外部该函数名是无效的,加载的时候,视为匿名函数加载,本质上,export default就是输出一个叫做default的变量或方法,然后系统允许你为他取任意名字

export default function test(){
    console.log('test')
}

对比正常输出和默认输出

//第一组
export function arc(){
    //...
} //输出

import {arc} from 'arc'  //输入

//第二组
export default arc2(){
    //...
}  //输出
import arc2 from 'arc2'   //输入

总结:export对应的import语句需要使用大括号,export default对应的import语句不需要使用大括号。export default命令用于指定模块的默认输出,显然,一个模块只能有一个默认输出,因此export default在同一个模块中只允许使用一次。所以与他对应的import命令后面才不用加大括号

export 与 import的复合写法

如果在一个模块中,先输入后输出同一个模块,import语句可以与export语句写在一起

export {foo, bar} from 'my_module'
//可以简单理解为
import {foo, bar} from 'my_module'
export {foo, bar}

上面代码中,exportimport语句可以结合在一起,写成一行。但需要注意的是,写成一行以后,foobar实际上并没有导入当前模块,只是相当于对外转发了这两个接口,导致当前模块不能直接使用foobar.

import()函数

import(specifier)

上面的代码中,import函数的参数specifier,指定所要加载的模块的位置。。import命令能够接受什么参数,import()函数就能接受什么参数,两者区别主要是后者为动态加载。

import()返回一个 Promise 对象。下面是一个例子。

const main = document.querySelector('main');
import(`./section-modules/${someVariable}.js`)
  .then(module => {
    module.loadPageInto(main);
  })
  .catch(err => {
    main.textContent = err.message;
  });

import()函数可以用在任何地方,不仅仅是模块,非模块的脚本也可以使用。它是运行时执行,也就是说,什么时候运行到这一句,就会加载指定的模块。另外,import()函数与所加载的模块没有静态连接关系,这点也是与import语句不相同。import()类似于 Node 的require方法,区别主要是前者是异步加载,后者是同步加载。

“es6中怎么导入资源”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

es6中怎么导入资源

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript ES6模块怎么导入和导出

本篇内容介绍了“JavaScript ES6模块怎么导入和导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:ES6模块化导入与导出有三
2023-07-02

怎么用Vue3+Vite批量导入模块或资源

今天小编给大家分享一下怎么用Vue3+Vite批量导入模块或资源的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1,前置基础知
2023-06-29

node和ES6中模块导出与导入怎么实现

这篇文章主要介绍“node和ES6中模块导出与导入怎么实现”,在日常操作中,相信很多人在node和ES6中模块导出与导入怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node和ES6中模块导出与导入怎
2023-06-17

Win11资源管理器怎么关闭导航窗格? 资源管理器中不显示导航的技巧

在使用javascript资源管理器浏览javascript文件时,如果我们不想使用导www.cppcns.com航窗格,想要将其关闭时应该怎么设置呢?下面就来看看方法吧。打开资源管理器。点击上面的查看下拉菜单。在下拉菜单中选择显示菜单下的
2023-06-09

Xamarin中资源分析怎么用

小编给大家分享一下Xamarin中资源分析怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!资源分析在 Xamarin Studio 中,我最喜欢的功能是资源分析。这个功能以前只作为一个实验性的选项,但现在 Xamari
2023-06-27

github怎么拿资源

GitHub是一个非常出名的开源平台,它不仅是一个代码托管平台,也是一个在线社交网站,开发者们可以在这里分享和获取资源、交流技术等。如何获取GitHub资源?注册账号首先,你需要注册一个GitHub账号。注册账户很简单,只需填写所需的信息,
2023-10-22

易语言资源表怎么写入大文件

要将数据写入大文件,你可以使用易语言提供的文件操作函数。首先,你需要定义一个文件句柄,然后使用文件操作函数将数据写入文件。以下是一个简单的示例代码,将数据写入大文件:```easylang// 打开文件文件句柄 = 文件打开("大文件.tx
2023-09-25

Android中怎么读取资源文件

这篇文章将为大家详细讲解有关Android中怎么读取资源文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、放入到资源文件夹里面,也就是所创建android工程的res下面。 我们可
2023-05-30

SpringBoot中怎么处理静态资源

Spring Boot中提供了一个默认的静态资源处理器,可以很方便地处理静态资源文件。在Spring Boot的配置文件中,可以通过设置spring.resources.static-locations属性来指定静态资源文件的位置。默认情况
SpringBoot中怎么处理静态资源
2024-03-07

Python 中怎么读取资源文件

本篇文章给大家分享的是有关 Python 中怎么读取资源文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。当你把一个资源文件和一个.py文件放在一起的时候,你可以直接在这个.p
2023-06-16

C#中怎么释放托管资源

这期内容当中小编将会给大家带来有关C#中怎么释放托管资源,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在.NET Framework中,内存中的资源(即所有二进制信息的集合)分为"托管资源"和"非托管资源
2023-06-17

编程热搜

目录