广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >es6中怎么导入资源
  • 917
分享到

es6中怎么导入资源

2024-04-02 19:04:59 917人浏览 独家记忆
摘要

本篇内容介绍了“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()类似于 noderequire方法,区别主要是前者是异步加载,后者是同步加载。

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

--结束END--

本文标题: es6中怎么导入资源

本文链接: https://www.lsjlt.com/news/97405.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • es6中怎么导入资源
    本篇内容介绍了“es6中怎么导入资源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • 怎么用Vue3+Vite批量导入模块或资源
    今天小编给大家分享一下怎么用Vue3+Vite批量导入模块或资源的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1,前置基础知...
    99+
    2023-06-29
  • SpringBoot之导入静态资源详解
    目录一、分析源码二、webjars方式三、导入静态资源四、自定义静态资源路径(不推荐)一、分析源码 我们学完之前的框架,大概知道静态资源过滤是由mvc处理的,然后在分析自动装配的时候...
    99+
    2022-11-12
  • JavaScript ES6模块怎么导入和导出
    本篇内容介绍了“JavaScript ES6模块怎么导入和导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:ES6模块化导入...
    99+
    2023-07-02
  • node和ES6中模块导出与导入怎么实现
    这篇文章主要介绍“node和ES6中模块导出与导入怎么实现”,在日常操作中,相信很多人在node和ES6中模块导出与导入怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node和ES6中模块导出与导入怎...
    99+
    2023-06-17
  • Win11资源管理器怎么关闭导航窗格? 资源管理器中不显示导航的技巧
    在使用资源管理器浏览文件时,如果我们不想使用导航窗格,想要将其关闭时应该怎么设置呢?下面就来看看方法吧。 打开资源管理器。 点击上面的查看下拉菜单。 在下拉菜单中选择显示菜单下的导航窗格,将其勾去掉。 此时左侧的...
    99+
    2023-06-09
    Win11 资源管理器
  • SpringBoot 静态资源导入及首页设置问题
    本节了解一下 SpringBoot 中 Web 开发的静态资源导入和首页设置,对应 SpringBoot-03-Web 项目。 1. 静态资源导入 在 Web 开发过程中,我们需要接...
    99+
    2022-11-12
  • 如何利用Vue3+Vite批量导入模块/资源
    目录前言1,前置基础知识 - JavaScript模块化编程(1) export语句 - 暴露函数和变量使外部调用(2) import语句 - 导入变量/函数并使用(3) impor...
    99+
    2022-11-13
  • SpringBoot详细讲解静态资源导入的实现
    目录SpringBootWeb开发1. 静态资源导入webjars使用自己的静态资源总结2.制作特殊的首页图标转变Thymeleaf模板引擎引入Thymeleaf取值有无转义循环Sp...
    99+
    2022-11-13
  • Kubernetes中怎么创建资源
    这篇文章给大家分享的是有关Kubernetes中怎么创建资源的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Kubernetes中所有操作的内容,我们都称为“资源对象”,是由AP...
    99+
    2022-10-19
  • 易语言资源表怎么写入大文件
    要将数据写入大文件,你可以使用易语言提供的文件操作函数。首先,你需要定义一个文件句柄,然后使用文件操作函数将数据写入文件。以下是一个...
    99+
    2023-09-25
    易语言
  • Node.js中如何使用ES6导入语法
    Node.js中如何使用ES6导入语法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。模块是导出一个或多个值的 JavaScript 文件。...
    99+
    2022-10-19
  • github怎么拿资源
    GitHub是一个非常出名的开源平台,它不仅是一个代码托管平台,也是一个在线社交网站,开发者们可以在这里分享和获取资源、交流技术等。如何获取GitHub资源?注册账号首先,你需要注册一个GitHub账号。注册账户很简单,只需填写所需的信息,...
    99+
    2023-10-22
  • Xamarin中资源分析怎么用
    小编给大家分享一下Xamarin中资源分析怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!资源分析在 Xamarin Studio 中,我最喜欢的功能是资源分析。这个功能以前只作为一个实验性的选项,但现在 Xamari...
    99+
    2023-06-27
  • es6的模块怎么导出
    这篇“es6的模块怎么导出”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6的模块怎么导...
    99+
    2022-10-19
  • java怎么释放资源
    在Java中,释放资源通常指的是关闭文件、数据库连接、网络连接等资源,以防止资源泄漏和提高系统性能。下面是一些常见的释放资源的方法:...
    99+
    2023-10-27
    java
  • Hadoop资源怎么管理
    这篇文章主要介绍“Hadoop资源怎么管理”,在日常操作中,相信很多人在Hadoop资源怎么管理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hadoop资源怎么管理”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-03
  • Python 中怎么读取资源文件
    本篇文章给大家分享的是有关 Python 中怎么读取资源文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。当你把一个资源文件和一个.py文件放在一起的时候,你可以直接在这个.p...
    99+
    2023-06-16
  • Web中怎么加载图片资源
    Web中怎么加载图片资源,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。浏览器的工作流程要研究图片资源的加载和渲染,我们先要了解...
    99+
    2022-10-19
  • C#中怎么释放托管资源
    这期内容当中小编将会给大家带来有关C#中怎么释放托管资源,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在.NET Framework中,内存中的资源(即所有二进制信息的集合)分为"托管资源&qu...
    99+
    2023-06-17
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作