首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【前端技术】Webpack基础

作者:张全玉 一、Webpack是什么 Webpack 是一个打包模块化 JavaScript 的工具,在 Webpack 里一切文件皆模块,通过 Loader 转换文件,通过 Plugin 注入钩子,...其官网的首页图很形象的画出了 Webpack 是什么,如下: 一切文件:JavaScript、CSS、SCSS、图片、模板,在 Webpack 眼中都是一个个模块,这样的好处是能清晰的描述出各个模块之间的依赖关系.../src/index.js'), // 入口 output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js',.../src/index.js'), // 入口 output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js',.../src/index.js'), // 入口 output: { // 把所有依赖的模块合并输出到一个 bundle.js 文件 filename: 'bundle.js',

67710
您找到你想要的搜索结果了吗?
是的
没有找到

webpack最简单的入门教程里bundle.js之运行单步调试的原理解析

用webpack打包之后,项目文件夹里包含了这些资源: [1240] index.html的源代码很简单,就包含了一个webpack打包后生成的bundle.js文件: [1240] 那么运行时,Hello...,Jerry的字符串是如何通过bundle.js打印出来的呢?...我们可以从bundle.js第一行设置断点,然后开始调试: [1240] [1240] [1240] [1240] 把我们web工程里定义的两个module注入到webpack_require.m里:.../main.js"); [1240] webpack_require函数本来就是在bundle.js里定义的: [1240] 首先检查main.js是否已经装载在内存里了: [1240] 对于我这个例子...当然经过webpack的加工,main.js里的代码已经通过eval的方式嵌入到bundle.js里了。

1.1K40

webpack最简单的入门教程里bundle.js之运行单步调试的原理解析

index.html的源代码很简单,就包含了一个webpack打包后生成的bundle.js文件: ? 那么运行时,Hello,Jerry的字符串是如何通过bundle.js打印出来的呢?...我们可以从bundle.js第一行设置断点,然后开始调试: ? ? ? ? 把我们web工程里定义的两个module注入到__webpack_require__.m里: ?...在bundle.js里此处进行运行时加载:return webpack_require(webpack_require.s = “./main.js”); ?...__webpack_require__函数本来就是在bundle.js里定义的: ? 首先检查main.js是否已经装载在内存里了: ?...当然经过webpack的加工,main.js里的代码已经通过eval的方式嵌入到bundle.js里了。 ? 原始的main.js代码: ?

49820

来,教你一个前端代码优化的新方法,好使!

/a.js', output: { path: path.resolve(__dirname, ''), filename: 'bundle.js' }, mode: 'none'}...; 执行npx webpack命令进行打包,打包完成后我们观察生成的bundle.js文件,如图1所示。...图1  生成的bundle.js文件 我们发现,变量year的值2022被打包到了最终代码里,但其实我们的代码a.js和b.js里并没有真正使用到该变量。...打包后生成的bundle.js代码如图4所示,我们发现未使用的year和2022顺利被删除了,另外也可以看到Webpack 5打包后的文件非常简洁。...如果喜欢本文 欢迎 在看丨留言丨分享至朋友圈 三连 热文推荐  微软4000亿收购动视暴雪,背后逻辑是什么? 盘点冬奥会上的那些“黑科技”! 书单 | 开年重磅新书,带你开心充实地过大年!

42910

Webpack原理-输出文件分析

本文作者:IMWeb 吴浩麟 原文出处:IMWeb社区 未经同意,禁止转载 虽然在前面的章节中你学会了如何使用 Webpack ,也大致知道其工作原理,可是你想过 Webpack 输出的 bundle.js...是什么样子的吗?...为什么 bundle.js 能直接运行在浏览器中? 本节将解释清楚以上问题。...先来看看由 1-3安装与使用 中最简单的项目构建出的 bundle.js 文件内容,代码如下: ( // webpackBootstrap 启动函数 // modules 即为存放所有模块的数组...原来一个个独立的模块文件被合并到了一个单独的 bundle.js 的原因在于浏览器不能像 Node.js 那样快速地去本地加载一个个模块文件,而必须通过网络请求去加载还未得到的文件。

60221

3-5 使用plugins让打包更便捷

/src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'build...并且自动引入了打包好的bundle.js。但是我们打开 index.html。发现页面什么也没有,看一下src 目录的index.html: ?...竟然还是什么也没有。问题很明显,src引用路径报错了。原因在于3-2 使用loader打包静态资源(图片) 中,为了保证图片的引用地址正确,我们加了publicPath这一配置。...这里,由于html和其他静态资源在一起,我们可以不配置publickPath,也可以如下配置: output: { filename: 'bundle.js',...可以看到生成了新的dist.js,但是老的bundle.js也还存在。如果存在多个文件的变动,导致旧的生成文件不需要时,webpack并不能为我们智能的删除。这就会造成无用文件遗留,打包文件增大。

66520

55. Vue webpack的基本使用

/src/main.js dist/bundle.js Module not found: Error: Can't resolve 'dist/bundle.js' in 'E:\webProject.../src/main.js dist/bundle.js main[1] 这是什么意思呢? 上面的有一个警告和一个错误,主要看错误信息的话就是无法介绍相关的路径信息。...image-20200302224600522 好了,到这里就可以看到成功打包了了bundle.js压缩文件了。 3.2.7 在index.html中引入bundle.js ?...3.3.5 修改 index.html 引入 bundle.js 的路径,并且删除dist目录下的bundle.js 文件 ?...3.10.2.7 name参数使用hash值解决同名文件问题 上面已经正常显示图片的源文件名称了,那么有一种情况,我们可以看到图片的文件夹路径是/根路径,那么如果在不同的images文件夹,有同名文件,这是什么样的情况呢

1.5K20

超详细!webpack入门教程(一)

1.webpack是什么,用来做什么 webpack是一个前端构建工具。那么什么是构建工具呢? 前端构建工具就是把开发环境的代码转化成运行环境代码。.../dist'),//打包后的文件存放的地方 filename:'bundle.js' //打包后输出文件的文件名 } }; 注意,这里把打包后输出的文件名命名为bundle.js.../dist/bundle.js'> 把原来打包后的dist/main.js删掉,命令行执行: webpack 可以看到打包成功,在项目的dist...,命令行执行: npm start 可以看到打包成功,在项目的dist文件中出现bundle.js: 图片5.png 浏览器打开index.html,发现正常显示。...格式则是这样的,大小是4.25KB: 图片7.png 命令行执行: npm run build 打包出来的bundle.js格式是这样的,大小是1001B: 图片8.png 可以看出生产模式相对运行模式

19.8K2167

用React框架和Express模块进行服务器端渲染

文件夹结构看起来会是这样的: / /dist -- 放生成文件 /assets -- 放从生成步骤中打包过来的素材文件 index.css bundle.js server.js...head> ${body} `<script src="/assets/<em>bundle.js</em>...大家还可以看到两个额外的素材文件 index.css和 <em>bundle.js</em>, index.css是编译过的CSS样式文件, <em>bundle.js</em>是客户端用的React打包文件,从服务器发送时会一起发过来。...这<em>是什么</em>意思? 应该显示的是 hello world mobile,而现在这个结果不是我们想要的。要说的话,React是很智能的,它会保证客服两端的东西都能配对。...这个错误信息很清楚,不<em>是什么</em>我们看不见的魔术,它问的是为什么有一个新的标记元素插进来。看到这个错误信息,我们明白了,客户端预计收到的标记元素和实际的不符。这个信息指出了一点,那就是要看看初始状态。

4.3K10

webpack快速构建项目

1.前(fei)言(hua) webpack是什么我在这里就不多说了,实在不知道的可以直接在去搜一下,都一大堆答案。关于用webpack怎么构建项目,方法也是多种多样,五花八门。...{ path: path.join(__dirname, 'dist'), //输出目录的配置,模板、样式、脚本、图片等资源的路径配置都相对于它 filename: "bundle.js...] } }; 这个也应该是最基础的webpack.config.js了 然后执行 $ webpack 这个命令就是打包输出,执行完了之后,会看到,文件夹上多了一个dist文件夹,里面有个bundle.js...第五步,测试结果 在index.html引入之前输出的bundle.js。 ? 最后,在随便一个浏览器,打开index.html ? 大功告成!...dirname, 'dist'), //输出目录的配置,模板、样式、脚本、图片等资源的路径配置都相对于它 publicPath: '/dist/', filename: "bundle.js

74330

「干货」你需要了解的六种渲染模式

Generation) SSR With hydration CSR with Pre-rendering CSR (Client Side Rendering) Trisomorphic Rendering 都不是什么新鲜玩意...仅在bundle.js完成加载和执行后,该UI才会变为可交互。 举个例子: ?...包含序列化UI,内联数据和bundle.js脚本的HTML文档 蓝色部分包含了初始的3个checkbox, 以及需要加载的bundle.js, 一开始, 你会立即看到UI, 等bundle加载并执行完成之后...也就是说,当初打包时页面是怎么样,那么预渲染就是什么样。 等到JS下载并完成执行,如果页面上有数据更新,那么页面会再次渲染。这时会造成一种数据延迟的错觉。...流程:浏览器 --> 服务器 --> index.html(预渲染的内容) --> Render --> bundle.js + images --> Render ?

2.6K20

使用 Vue 脚手架,为什么要学 webpack?

讲人话就是,webpack 的理念就是一切皆模块化,把一堆堆的 js、css等文件放在一个总的入口文件引入,剩下 webpack 会把引入的文件根据对应的关系合并成一个 bundle.js 。.../dist', filename:'bundle.js' } } entry(入口):配置入口文件 output(输出):设置打包后文件存放路径(path) 和文件名(filename)。.../src/main.js', output:{ path:path.resolve(__dirname,'dist'), filename:'bundle.js' } } 重新运行命令:webpack...此时就会在dist文件夹内出现了一个被打包后的 bundle.js。 三、webpack 用来做什么? 以上内容讲述的打包,只是打包了js内容,具体的index.html并没有被打包到dist文件内。...那是什么原因呢? webpack 用来处理我们写的 js 代码,webpack会自动处理 js 之间相关依赖。

87020
领券