>>分享Web前端开发技术,并对孙卫琴的《精通Vue.js:Web前端开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 16047 个阅读者 刷新本主题
 * 贴子主题:  JavaScript ES2015模块化操作 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2024-04-28 05:48:12     消息  查看  搜索  好友  邮件  复制  引用

你可以创建 JavaScript 模块,在模块里你可以导出需要导出的东西,然后在其它的地方,你可以导入模块提供的东西。

创建模块

创建一个模块,可以放在一个单独的 js 文件里,比如 talk.js:

let greeting = 'hello'
export { greeting }

现在,talk.js 就是一个模块,导出模块里的东西使用的是 export ,这里我们导出来变量 greeting 。

使用模块

使用模块就是导入模块提供的东西,创建一个 js 文件,名字是 index.js,在这个文件里:

import { greeting } from './talk'
console.log(greeting)

执行上面的代码,会在控制台上输出 “hello”,这个值是在 talk 模块里导出的 greeting 表示的东西。在 index.js 里,我们用 import 导入了 talk 模块里导出的 greeting 。

在模块里导出多个东西

这样编辑一下 talk.js:

let greeting = 'hello'
let goodbye = 'see ya ~'
export { greeting, goodbye }

现在这个模块里导
出了两样东西,greeting 与 goodbye 。

导入模块里的多个东西

再这样编辑一下 index.js:

import { greeting, goodbye } from './talk'
console.log(greeting, goodbye) // hello see ya ~

在 index.js 里,导入了来自 talk 模块的 greeting 与 goodbye。

模块里的默认导出

模块里可以提供一个默认导出的东西,在 talk.js 里:

let greeting = 'hello'
let goodbye = 'see ya ~'

const greet = (name) => {
  return `hello ${name}.`
}

export { greeting, goodbye }
export default greet

用 export default 导出了一个默认的东西,就是 greet 函数。

导入模块默认的东西

import greet, { greeting, goodbye } from './talk'

console.log(greeting, goodbye)
console.log(greet('ninghao'))

导入模块默认导出的东西不需要在它周围使用大括号({})。

使用别名

导出与导入的时候都可以使用别名。用的关键词是 as:

import greet, { greeting as g, goodbye as b } from './talk'

console.log(g, b)
console.log(greet('ninghao'))

程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->继承
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->数据库事务的概念和声明
  Java网络编程-->非阻塞通信
  精通Spring-->计算属性和数据监听
  Vue3开发-->绑定CSS样式
  介绍axios的基本使用(vue中使用axios)
  Vue项目PWA化
  JavaScript Promise对象的用法
  js Worker 线程收集1~9999的之间所有质数;Worker线程交换数...
  Vue项目的性能优化之路
  Vue开发常用的框架及案例
  JavaScript的Window 对象
  jQuery UI 如何使用部件库
  CSS3 2D 转换
  CSS margin(外边距)
  JavaScript Array(数组)对象
  JavaScript 函数定义
  JavaScript 正则表达式
  JavaScript 对象 的创建和使用
  JavaScript 语法大全
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。