首页 > 其他分享 >面试- JS Web API - ES6模块化

面试- JS Web API - ES6模块化

时间:2024-09-13 14:36:12浏览次数:8  
标签:Web log ES6 导出 JS 导入 模块 import js

  1. ES6 模块化的基础概念
    ES6 模块化的核心在于两个关键字:export 和 import。

export:用于将模块中的变量、函数、类等导出,供其他模块使用。
import:用于从其他模块中导入需要的功能。
2. 模块的导出(export)
ES6 提供了两种导出方式:命名导出(Named Exports) 和 默认导出(Default Export)。

2.1. 命名导出(Named Exports)
你可以导出多个变量或函数,并在其他模块中按需导入。

// math.js
export const add = (a, b) => a + b;
export const multiply = (a, b) => a * b;

在另一个模块中,你可以按名称导入这些导出内容:

// main.js
import { add, multiply } from './math.js';

console.log(add(2, 3));      // 输出 5
console.log(multiply(2, 3)); // 输出 6

2.2. 默认导出(Default Export)
一个模块可以有一个默认导出。默认导出可以是任何值、函数或类。导入时不需要用花括号,可以自定义导入的名字。

// logger.js
export default function log(message) {
  console.log(message);
}

导入时:

// main.js
import log from './logger.js';

log('Hello, ES6 modules!'); // 输出 'Hello, ES6 modules!'
  1. 模块的导入(import)
    3.1. 命名导入
    可以从模块中按名称导入多个导出的内容:
import { add, multiply } from './math.js';

3.2. 默认导入
当导入模块的默认导出时,不需要使用花括号,可以自行命名:

import log from './logger.js';

3.3. 导入所有内容
你可以使用 * 导入模块中的所有导出,并赋值给一个对象,这样可以通过对象属性访问模块中的每个导出。

// 导入所有命名导出
import * as math from './math.js';

console.log(math.add(2, 3));      // 输出 5
console.log(math.multiply(2, 3)); // 输出 6
  1. 与 Webpack 的结合
    在现代前端开发中,工具如 Webpack 可以很好地结合 ES6 模块来打包代码。Webpack 会解析 import 和 export 语法,并将不同模块打包成浏览器可以识别的代码。

Webpack 的配置一般如下:

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader', // 使用 Babel 转换 ES6 代码
        },
      },
    ],
  },
};

标签:Web,log,ES6,导出,JS,导入,模块,import,js
From: https://www.cnblogs.com/gardenOfCicy/p/18412092

相关文章

  • 基于web的工厂新闻管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt
    基于web的工厂新闻管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt基于web工厂新闻管理系统的国内外现状和趋势国内研究现状和趋势:工厂新闻管理系统作为一种信息化管理工具,旨在实现对工厂新闻的集中管理和快速发布。目前,国内已有一些类似的研究和应用,其中较为典......
  • 面试-JS Web API-开发环境
    git调试工具抓包webpackbabellinux常用命令(测试机)git最常用的代码版本管理工具大型项目需要多人协作开发,必须熟用嗷~git服务端常见的有github、coding.net等gitinit这个命令用来初始化一个Git仓库。一般在新项目开始的时候执行。gitclone从远程仓库复......
  • 消除干扰:如何在PyCharm中轻松设置Chrome无痕模式进行Web测试(WebStorm无痕模式打开HTML
    文章目录......
  • 基于Node.js+vue机房管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机机房已成为高校、培训机构及企业不可或缺的重要设施。然而,传统机房管理方式往往依赖于人工记录与监控,存在效率低下、易出错、......
  • 基于Node.js+vue直面BOSS招聘管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景在当今竞争激烈的就业市场中,招聘与求职双方均面临着信息不对称、沟通效率低下的挑战。传统招聘方式往往依赖于线下招聘会、招聘网站的海量信息筛选,以及繁琐......
  • 基于Node.js+vue基于SpringBoot的儿童福利院管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着社会对儿童福利事业关注度的不断提升,儿童福利院作为保障孤儿、弃婴及困境儿童基本生活权益的重要机构,其管理效率与服务质量直接关系到儿童的健康成长。......
  • 基于Node.js+vue基于SpringBoot动漫电影网站(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,网络娱乐已成为人们日常生活中不可或缺的一部分,尤其是动漫电影作为一种集艺术性、娱乐性和文化性于一体的媒介形式,受到了广泛的欢......
  • CSS 响应式设计(补充)——WEB开发系列36
    随着移动设备的普及,网页设计的焦点逐渐转向了响应式设计。响应式设计不仅要求网页在各种屏幕尺寸上良好展示,还要适应不同设备的特性。1.响应式设计之前的灵活布局在响应式设计流行之前,网页布局通常是固定的或流动的。固定布局使用固定的像素宽度,而流动布局使用相对单位(如百分比)来......
  • 从MySQL JSON字段中提取去重城市列表的SQL查询
    重点:数据库有一个城市字段,是一个json数组(["北京市","上海市","广州市"]),每条数据的城市可能重合,通过下面SQL可返回去重后的城市列表,mysql版本要5.7以上才支持。SQL如下:SELECTDISTINCTTRIM(JSON_UNQUOTE(JSON_EXTRACT(城市json字段名,CONCAT('$[',n.n,']'))))AScityF......
  • YAML 与 JSON、XML 比较及 YAML 使用最佳实践
    YAML(YAMLAin'tMarkupLanguage的递归缩写)是一种人类可读的数据序列化格式,通常用于配置文件、数据交换和设置管理。它简洁且易于读写,尤其适合在编程语言之间传递配置数据。以下是一些YAML的基本概念和语法示例:基本语法键值对:name:JohnDoeage:30嵌套:person:name:JohnDoe......