8 Webpack 模块

【尚医通项目开发】8.复习nodejs,npm,模块化,babel转码器,webpack node.js 作用 1.js运行环境。可以直接运行js,不需要浏览器 2.模拟服务端效果。不需要tomcat 效果 npm包管理工具 是node.js的包管理工具。相当于前端的maven 项目初始化 在空文件夹中,npm init 安装依赖 npm install 依赖名称 当下载了有package.json配置文件的项目时,可以直接npm install,安装好相应的依赖 es6模块化 js之间的调用 1.创建项目,进行初始化 2.创建src文件夹 01.js 定义两个方法 02.js 调用01. 阅读详情

模块(modules)

在模块化编程中,开发者将程序分解成离散功能块(discrete chunks of functionality),并称之为模块(一般一个js文件定义一个ES6类,一个文件即一个模块)。

 

什么是 webpack 模块

对比 Node.js 模块,webpack 模块能够以各种方式表达它们的依赖关系,几个例子如下:

 

 

模块解析(module resolution)

resolver 是一个库(library),用于帮助找到模块的绝对路径。一个模块可以作为另一个模块的依赖模块,然后被后者引用,如下:

import foo from 'path/to/module'

// 或者

require('path/to/module')

 

webpack 中的解析规则

webpack 能够解析三种文件路径:

绝对路径

import "/home/me/file";

import "C:\\Users\\me\\file";

由于我们已经取得文件的绝对路径,因此不需要进一步再做解析。

 

相对路径

import "../src/file1";

import "./file2";

 

模块路径

import "file1";

import "lib/file";

注:模块路径与其他路径不同之处,模块路径没有 / 在前面

模块路径将在 resolve.modules 中指定的所有目录内搜索文件。

module.exports = {

    resolve: {

        extensions: ['.js', “.jsx”,"*",".css"],

        modules:[libPath, nodeModPath, cssPath, jsPath],

        alias: require('./src/pathmap.json')

    }

}

Extension:指定文件可能的后缀,如果import不指定后缀,如:

import ListBtn from 'ListBtn\index';

则会按照顺序添加后缀并查看是否有该文件,如果有则应用该文件,如下:

import ListBtn from 'ListBtn\index.js';

其中,index是可以省略的,你可以在文件中这样写

import ListBtn from 'ListBtn';

Modules:模块路径目录

Alias:用于指定别名

Node.js与Webpack 定义:使用Node.js编写服务器端程序编写数据接口,提供网页资源浏览功能等等为后续学习Vue和React等框架做铺垫开发项目直到上线,过程中集成的所有工具和技术Node.js是前端工程化的基础( 因为Node.js可以主动读取前端代码内容)定义:项目是由很多个模块文件组成的提高代码复用性,按需加载,独立作用域需要标准语法导出和导入进行使用Node.js模块化:每个文件当做一个模块,独立作用域,按需加载采用特定的标准语法导出和导入进行使用一般应用在Node.js项目环境中。 阅读详情

相关推荐

易灵思Trion FPGA实战:5分钟搞定MIPI硬核配置(附Interface Designer避坑指南)

本文详细介绍了易灵思Trion FPGA中MIPI硬核的快速配置方法,通过Interface Designer工具实现从时钟配置到数据收发的全流程实战。特别针对初次接触Trion系列的设计师,提供了六个关键配置陷阱及解决方案,帮助开发者高效完成嵌入式视觉和高速数据传输项目。

eee77的博客 791

webpack/vite

webpack打包原理是根据文件间的依赖关系对其进行静态分析,将这些模块按指定规则生成静态资源,当webpack处理程序时,它会递归地构建一个依赖关系图,将所有这些模块打包成一个或多个bundle。 webpack有两种组织模块的依赖方式,同步、异步。异步依赖将作为分割点,形成一个新的块;在优化了依赖树之后,每一个异步区块都将作为一个文件被打包。 webpack有一个智能解析器,几乎可以处理任何第三方库。无论它们的模块形式是CommonJs、AMD还是普通的JS文件;甚至在加载依赖的时候,允许使用动态表re

accumulate_的博客 731

Cursor使用教程,有点难

Cursor Code Editor 不仅仅是一个代码编辑器,它更是一个集成了 AI 的全功能开发环境,帮助你从代码编写到优化的整个过程变得更加智能和高效。它通过内置的 AI 代码补全、错误检测和自动修复功能,大大减少了手动编写代码的负担,帮助你快速完成开发任务。同时,Cursor 还与多种前沿的 AI 大模型集成,包括 OpenAI 的 GPT-4o、Claude 3.5 和 Meta 的 Llama 3.1。

xiaofeitunAI的博客 1万+

使用Webpack进行模块化开发与打包

Webpack是一个现代化的JavaScript模块打包工具,它可以将多个模块打包成一个或多个静态资源文件。通过Webpack,我们可以将项目中的各个模块进行模块化开发,并将它们打包成一个或多个可供浏览器加载的静态资源文件。通过以上示例,我们可以看到使用Webpack进行模块化开发与打包的过程。Webpack可以帮助我们将项目中的各个模块进行模块化开发,并将它们打包成一个或多个静态资源文件,提高代码的可维护性和可复用性,同时还可以优化资源,提高页面的加载速度。

Sun_blog 1547

华为MA5620配置宽带及语音实例

华为EPON配置实例1、公共部分和宽带PPPOE部分用串口用户名密码root/mduadminMA5620E>enableMA5620E#configMA5620E(config)#MA5620E(config)#sysnamebigcow/给设备起名字/****之前为公共部一、建vlan和地址bigcow(config)#vlan100...

weixin_33862041的博客 6348

从光斑图到锤形优化:一次搞定Zemax双胶合透镜的像散与场曲问题

本文详细解析了Zemax双胶合透镜设计中像散与场曲问题的诊断与优化方法。从光斑图分析到锤形优化技巧,提供了完整的光学设计实战指南,帮助设计师快速定位问题并有效改善系统性能,特别适合光学设计工程师和Zemax使用者参考。

weixin_27134495的博客 233

webpack基本用法

webpack基本用法

weixin_43165676的博客 1086

盲孔、埋孔、通孔、一阶HDI、二阶HDI概念

文章目录1. 盲孔和埋孔2. 一阶、二阶HDI3. PADS软件设置盲埋孔 1. 盲孔和埋孔 HDI板是高密度互连(High Density Interconnector)的缩写,是生产印制板的一种技术,使用微盲埋孔技术的一种线路分布密度比较高的电路板,也被称为盲埋孔板,下图就是一个6层HDI板,其中C和D就是盲孔,B是埋孔,A是通孔。 盲孔(Blind Via)指连接外层到内层的金属化孔,D是V13孔,连接顶层和第3层,C是V56孔,连接第5层和底层。 埋孔(Buried Via)指连接内层到内层的金属

记得诚 3万+

【Webpack】模块打包器的核心概念与使用详解

Webpack 是一个模块打包器,它的主要目标是将项目中的多个模块(如 JavaScript、CSS、图片等)打包成一个或多个优化后的文件,供浏览器使用。Webpack 通过一个依赖关系图(Dependency Graph)来分析项目的结构,处理不同类型的文件并最终输出优化后的打包文件。Webpack 作为现代前端开发的核心工具之一,通过模块化管理、代码优化、加载性能提升等方式,帮助开发者高效地构建复杂的前端应用。无论是单页面应用还是多页面应用,Webpack 都能提供灵活的配置与优化手段。

lph159的博客 1722

【微服务】Java 对接飞书多维表格使用详解

Java 对接飞书多维表格使用详解

congge_study的博客 1万+

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

webpack模块化原理-commonjs/webpack模块化原理-ES module

我们都知道,webpack作为一个构建工具,解决了前端代码缺少模块化能力的问题。我们写的代码,经过webpack构建和包装之后,能够在浏览器以模块化的方式运行。这些能力,都是因为webpack对我们的代码进行了一层包装,本文就以webpack生成的代码入手,分析webpack是如何实现模块化的。PS: webpack的模块不仅指js,包括css、图片等资源都可以以模块看待,但本文只关注js。

zzy7075的专栏 513

基于Claude Code的 规范驱动开发(SDD)指南

传统的AI辅助开发,如同手工作坊,我们向AI描述想法,它给我们零散的部件,我们再手动打磨、组装。这个过程充满了不确定性、信息损耗和重复劳动。本指南将尝试引领您进入软件开发的“工业时代”。在这里,

形上得其象,形下合于数;阴阳自济,玄理自明。 2749

如何让webpack模块化代码兼容到ie8

需求:网站的所有页面都要跑一个脚本,由于这个脚本的功能有很多,所以考虑使用webpack将其中的每个功能模块化。使用webpack,就自然想到用es6爽一爽吧。为了兼容尽可能多的浏览器,当然坑也一个一个的冒了出来。 经过babel编译的代码,在chrome上当然没问题。但是用ie8打开,控制台报错。 第一个错,是转出来一个default,被ie8判错,于是在看过知乎上的一个讨论之后,增

wulixiaoxiao1的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

webpack5 基础配置8 devServer 模块热替换HMR, 框架的HRM, HRM原理

dev Server 之前运行一直是手动打开页面,修改代码后,每次都要run build非常麻烦。 第一种是通过watch来解决,每次代码一修改就自动编译然后重新渲染。 可以看到刚我们修改了代码,重新自动编译了。 第二种写法 但这种方式也有弊端。目前我们使用的是watch监听代码的改变从而重新编译生成新的Build,然后通过vscode的插件,live-server监听文件的变化,从而重新渲染页面。但其实效率不高,因为只要有一个文件改变,所有源代码都要重新编译,要重新生成新的Bundle.js文件,l

lin_fightin的博客 2268

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[译]webpack官网文档 :概念 -- 8.模块解析

原创翻译,转载请注明出处。  原文地址:https://webpack.js.org/concepts/module-resolution/   模块解析 解析器是一个库,它能依据模块的绝对路径来找到模块。使用下面的方法,一个模块就可以被另一个模块当作依赖来请求: import foo from'path/to/module' // or require('path/to/mod...

iteye_5929的博客 194

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

前端学习案例8-webpack中css模块化

前端

qq_41632427的博客 229

js逆向 webpack_Webpack打包后逆向分析

webpack对前端js源码进行压缩打包后,一般会生成如下几个文件:bootstrap.js 入口文件:(function (modules) { // webpackBootstrap// install a JSONP callback for chunk loadingvar parentJsonpFunction = window["webpackJsonp"];window["webpa...

weixin_39557419的博客 2329

webpack 文档(指南)- Shimming 预置依赖

Shimming 的意思是用垫隙片填入。shim 预设依赖就是说可以将第三方模块当作“垫隙片”填入我们的项目,所以预设依赖应该是全局可用的,甚至我们不需要手动声明引入这个模块(比如使用 require 或 import 语句),而是直接使用它暴露在全局中的那个变量或常量就行。wepback 为我们提供了 ProvidePlugin 这个插件来实现这个方案。当然,除了 ProvidePlugin 外,还有 imports-loader 和 exports-loader 这两个有意思的加载器,它们分别可以改

qq_36605165的博客 479

系统学习大前端(8)---模块化、webpack、rollup、规范化标准

文章内容输出来源:拉勾教育大前端高薪训练营 1. 模块化 模块化演变过程 step1 – 文件划分方式 命名冲突 污染全局作用域 无法管理模块间的依赖关系 step2 – 命名空间的方式 将每个模块添加命名空间 依然没有解决模块间的依赖关系 step3 – IIFE(自执行函数) 通过函数提供私有作用域 step4 – commonjs规范(node) 一个文件就是一个模块 每个模块都有单独的作用域 通过module.exports导出成员 通过require函数载入模块 以同步的

柒月 528

Webpack4+Babel7+ES6兼容IE8

前阵子重构了一个挺有意思的项目,是一个基于浏览器环境的数据采集sdk。公司各个产品的前端页面中都嵌入了这个sdk,用于采集用户的行为数据,上传到公司的大数据平台,为后续的运营决策分析提供数据支撑。 笔者接手这个项目的时候,前任开发者已经把功能都写差不多了。唯一需要做的就是做下模块化拆分和代码规范,以便后续的开发维护。模块化拆分用webpack,代码规范用eslint。既然要重构,那就顺手用es6...

weixin_34102807的博客 3340

node 和 webpack

ECMAScript 标准是 JavaScript 语言的基础,而 CommonJS 规范是在此基础上衍生出来的一种模块化规范。,如需使用 ECMAScript 标准语法,需在运行模块所在文件夹新建 package.json 文件,并设置。概念:在 Node.js 中,每个 JavaScript 文件被视为一个。fs 模块:封装了与本机文件系统进行交互的方法和属性。使用:使用 CommonJS 标准语法。模块:类似插件,封装了方法和属性。好处:提高代码复用性,按需加载,注意:Node.js。

落魄校花的博客 418

[webpack3.8.1]Guides-6-Hot Module Replacement(模块热重置)

Hot Module Replacement This guide extends on code examples found in the Development guide. 温馨提示:这个指南中的例子是基于上一个指南的。(╯°Д°)╯ Hot Module Replacement (or HMR) is one of...

weixin_33724570的博客 196

webpack学习记录

mark webpack介绍 安装实录1 安装实录2 安装记录 我在win8上安装了一次,也是各种出错,主要涉及到①cmd无法识别webpack命令,虽然安装的时候用了参数 -g/-global,但还是无法识别,所以手动在环境变量里面加上了webpack模块路径。②打包时原来的webpack + 打包文件 + 目标文件 的命令报错,查询资料原因是webpack4.0以上的命令格式发生变化,需要在...

iamlongalong的博客 172

webpack

将图片文件单独打包成一个文件,保存到打包目录,再使用url(file:///d:/xxx/xxx) 就相当于将原图片,复制到了另个新的位置,改了名,url再指向新的位置即可。在webpacke5.0中无需下载安装图片对应的loader(模块),因为内嵌了对象图片资源处理的模块,可以直接使用内置的资源模块进行处理(asset/modules) 内置了四种处理图片的资源模块。对文件内容进行特定的处理。当一个项目开发完毕后,要对项目的代码进行最终的打包,最终的打包,要以production模式进行。

jokerJOJO777的博客 254
上一篇: 7 webpack 配置
下一篇: 9 Webpack 安装
dabusidede
博客等级 码龄9年 84粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值