ES6 模块化、webpack、@ 代表src目录的设置

news2024/12/23 23:45:37

文章目录

  • webpack
  • Source Map
  • @ 代表src目录的设置
  • ES6 模块化
    • 要求
    • 默认 导出
    • 默认导入
    • 按需 导出、导入
    • 混合使用
    • 直接导入 并执行模块中的代码

webpack

默认 约定:
在这里插入图片描述
自定义 打包的 入口与出口

const path = require('path') // 导入node.js中 专门操作路径的模块
module.exports = {
    entry: path.join(__dirname, './src/index.js'), // 打包 入口文件的路径
    output: {
        path: path.join(__dirname, './dist'), // 输出文件 的存放路径
        filename: 'bundle.js' // 输出文件的名称
    }
}
module.exports = {
    mode: 'production'
}

在这里插入图片描述

webpack.config.js 文件 与src目录同级

Source Map

解决 默认Source Map的问题: 运行时 报错的行数 与 源代码行数 一致, 方便排查问题

module.exports = {
    mode: 'development', // 开发阶段
    devtool: 'eval-source-map'
}
module.exports = {
    mode: 'production', // 生产发布
    devtool: 'nosources-source-map'
}

在这里插入图片描述

@ 代表src目录的设置

webpack.config.js

const path = require('path') // 导入node.js中 专门操作路径的模块
module.exports = {
    mode: 'production',
    devtool: 'nosources-source-map',
    resolve: {
        alias: {
            // 告诉 webpack,@ 符号代表src这一层目录
            '@': path.join(__dirname, './src/')
        }
    }
}

ES6 模块化

要求

在这里插入图片描述

  • 确保node 版本在v14.15.1 及以上
  • package.json的 根节点添加 “type”:“module” 节点

在这里插入图片描述
在这里插入图片描述

默认 导出

export default 只能 使用一次

let n1=10 // 定义模块 私有成员 n1
let n2=20 // 定义模块 私有成员 n2
function  show(){} // 定义模块 私有方法

export default { // 使用export default 默认导出语法,向外共享n1 和show两个成员
    n1,
    show
}

默认导入

接受名称 必须是 合法的变量名!!!
导入的文件 必须 要写好 路径和文件名 (不能 漏掉 .js 后缀)

import u from './ex.js'
console.log(u)

结果:
在这里插入图片描述

按需 导出、导入

export let n1 = 10
export let n2 = 20

export function show() {
}

{n1,n2} 相当于 解构

import {n1,n2} from './ex.js'
console.log(n2)

混合使用

export let n1 = 10
export let n2 = 20

export function show() {
}
export default {
    n1,
    show
}

info 就是 默认 导出的数据集合

import info,{n1,n2} from './ex.js'
console.log(n2)
console.log(info)

直接导入 并执行模块中的代码

console.log('6666')
import  './ex.js'

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从华科到清华这些年,我和焦虑成为朋友

Datawhale干货 作者:赵子一,清华大学,Datawhale成员硕士求职碰壁被今年的求职形势狠狠地“教育”了一番2021年的秋天开启了我读硕士的第三个年头。当时的我还在某家公司做实习生。本来是可以转正的,但是出于各种考虑,我…

C++:STL:常用容器(上):deque容器

1:deque容器的基本概念 功能: 双端数组,可以对头端进行插入和删除操作。 deque 与vector区别 1:vector对于头部的插入删除效率低,数据量越大,效率越低。 2:deque相对而言,对头部的插…

产品第一性原理提升数据转化

小飞象交流会答应自己的事就尽力去做到,要去的地方就努力去抵达。内部交流│18期产品第一性原理提升数据转化data analysis●●●●分享人:永波(阿外)‍数据分析需要透过现象看本质,先从纷繁复杂的表象中进行抽丝剥茧&…

【HTML】2023跨年烟花代码

*2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 📂文章目录前言效果展示一、夜景烟花绽放动画效果HTML源码2023年(新年)春节倒计时代码源码2023除夕倒计时效果展示源码宇宙星空-效果展示1.源码2.思路3.步骤(js部分)更多干货🚀前言 时光荏苒…

图像处理:Tiler制作你的专属卡通头像和LOGO(圣诞特别篇)

目录0 前言1 安装与贴图2 算法原理2.1 计算像素频率2.2 计算像素相对距离2.3 计算合适贴图3 配置功能4 使用:以圣诞老人为例0 前言 Tiler是一种使用各种其他较小图像平铺创建新图像的工具,它与其他马赛克工具不同,因为它可以适应多种形状、大…

微信开放平台之第三方平台开发,模板小程序如何提交?

大家好,我是悟空码字 12月25日,天气晴朗,阳光普照,今天是圣诞节。因为疫情影响,小羊人的增多,街上放眼望去,人烟稀少。楼下除了几个十一二岁的小男孩在玩耍,也没有像往日老人悠闲打…

Java --- JUC之线程中断机制

目录 一、什么是中断机制 二、三大中断方法 2.1、如何停止中断运行中的线程? 2.1.1、通过volatile实现线程中断停止 2.1.2、通过AtomicBoolean实现线程中断停止 2.1.3、通过interrupt()实现线程中断停止 2.2、interrupted()方法使用 一、什么是中断机制 一个…

如何定制化Spring Boot Starter,这次我终于学会了

文章目录什么是Spring Boot Starter实现步骤启动器自动配置包总结自定义Starter的实现逻辑Spring Boot Starter官网描述:Spring Boot Starter官方介绍 什么是Spring Boot Starter Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包&…

人工智能:通过Python实现语音合成的案例

今天给大家介绍一下基于百度的AI语音技术SDK实现语音合成的案例,编程语言采用Python,希望对大家能有所帮助! 注册百度AI平台应用百度AI开放平台-全球领先的人工智能服务平台 首先登陆自己的百度账户,打开百度的AI开发平台页面 搜索…

python实战——阿里大药房自动化购买药品(selenium)

前言 大家早好、午好、晚好吖 ❤ ~ 我给大家准备了一些资料,包括: 2022最新Python视频教程、Python电子书10个G (涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题)、Python学习路线图等等 直接在文末名片自取即可&#x…

循环神经网络-基础篇Basic-RNN

循环神经网络-基础篇Basic-RNN 我们把全连接网络也叫做稠密网络DNN,其中X1到X8是不同样本的特征 而本文介绍的循环神经网络RNN主要处理的是具有序列关系的输入数据,即前面的输入和后面的输入是有关系的。例如天气,股市,金融数据和…

iText如何提取PDF中的数据——1. 总览

作者:CuteXiaoKe 微信公众号:CuteXiaoKe | 原文 最近收到大家很多的私信提问,也是大家比较关心的问题:如果我有一个PDF,我该如何使用iText获取PDF里面的内容呢,比如文本、图片、表格等。iText官方给出了相关的整体解决…

基于Xlinx的时序分析与约束(5)----衍生时钟约束

衍生时钟约束语法 衍生时钟(Generated Clocks,又称为生成时钟)是指由设计中已有的主时钟通过倍频、分频或者相移等操作后产生的新的时钟信号,如由MMCM或PLL或由组合逻辑生成的倍、分频时钟信号。 衍生时钟约束必须指定时钟源&…

【高级篇04】MySQL逻辑架构

文章目录第四章:逻辑架构逻辑架构SQL执行流程数据库缓冲池第四章:逻辑架构 逻辑架构 第一层:连接层。客户端访问MySQL服务器,首先建立TCP连接,经过三次握手建立连接成功后,MySQL服务器对TCP传输过来的账号…

各个集合比较

1、 Queue与Deque的区别 引言: 在研究java集合源码的时候,发现了一个很少用但是很有趣的点:Queue以及Deque; 平常在写leetcode经常用LinkedList向上转型Deque作为栈或者队列使用,但是一直都不知道Queue的作用&#x…

微信小程序入门

目录 一,简介 二,小程序开发环境搭建 1.申请账号 2.安装开发工具 3.小程序工具使用 三,目录结构以及json配置 1.目录结果 2.json配置 3.JSON 语法 4.WXML 5.wxss 6.JS 逻辑交互 四,小程序宿主环境 1.程序与页面 2.组件…

DFMEA之严重度/频度/探测度/风险优先系数

文章目录介绍严重度频度探测度风险优先系数介绍 在实施DFMEA阶段中,要求、潜在失效模式、潜在失效后果、潜在失效原因和现有设计控制措施等 5 个为基础项, 它们的分析是决定 DFMEA实施成功与否的关键;严重度(S),频度&a…

4.2、网络层提供的两种服务

1、面向连接的虚电路服务 虚电路服务的核心思想:可靠通信由网络自身来保证\color{red}可靠通信由网络自身来保证可靠通信由网络自身来保证 当两台计算机进行通信时,必须建立网络层的连接\color{red}网络层的连接网络层的连接----虚电路VC\color{red}虚…

centos7搭建DNS服务(use)

参考:centos7搭建DNS服务完整版 CentOS 7 配置DNS服务 Centos7 DNS 服务器配置步骤 --use DNS服务类型 主机记录记录类型记录值ns1A192.168.1.1ns2A192.168.1.2wwwA192.168.1.100bbsCNAMEwwwftpA192.168.1.110mailMX 10192.168.1.120 一、服务配置 1.1 关闭SELi…

模型实战一之YOLOv7实例分割、模型训练自己数据集

模型实战一之YOLOv7实例分割、模型训练自己数据集 1.环境准备 下载yolov7实例分割模型: git clone https://github.com/WongKinYiu/yolov7.git -b mask yolov7-maskcd yolov7-mask安装环境 #查看已安装环境 conda info --envs #查看安装了哪些包 conda list#创建…