当前播放: 08 | webpack初体验:一个最简单的例子
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:webpack与构建发展简史 (9讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 为什么需要构建工具
免费
04 | 前端构建演变之路
05 | 为什么选择webpack
06 | 初识webpack
07 | 环境搭建:安装webpack
免费
08 | webpack初体验:一个最简单的例子
09 | 通过npm script运行webpack
第二章:webpack基础用法 (12讲)
10 | webpack核心概念之entry
免费
11 | webpack核心概念之output
免费
12 | webpack核心概念之loaders
13 | webpack核心概念之plugins
14 | webpack核心概念之mode
15 | 解析ECMASCript 6和React JSX
16 | 解析CSS、Less和Sass
17 | 解析图片和字体
18 | webpack中的文件监听
19 | webpack中的热更新及原理分析
20 | 文件指纹策略:chunkhash、contenthash和hash
21 | HTML 、CSS和JavaScript代码压缩
第三章:webpack进阶用法 (16讲)
22 | 自动清理构建目录产物
23 | PostCSS插件autoprefixer自动补齐CSS3前缀
24 | 移动端CSS px自动转换成rem
25 | 静态资源内联
26 | 多页面应用打包通用方案
27 | 使用sourcemap
28 | 提取页面公共资源
29 | Tree Shaking的使用和原理分析
30 | Scope Hoisting使用和原理分析
31 | 代码分割和动态import
32 | 在webpack中使用ESLint
33 | webpack打包组件和基础库
34 | webpack实现SSR打包(上)
35 | webpack实现SSR打包(下)
36 | 优化构建时命令行的显示日志
37 | 构建异常和中断处理
第四章:编写可维护的webpack构建配置 (9讲)
38 | 构建配置包设计
39 | 功能模块设计和目录结构
40 | 使用ESLint规范构建脚本
41 | 冒烟测试介绍和实际运用
42 | 单元测试和测试覆盖率
43 | 持续集成和Travis CI
44 | 发布构建包到npm社区
45 | Git Commit规范和changelog生成
46 | 语义化版本(Semantic Versioning)规范格式
第五章:webpack构建速度和体积优化策略 (12讲)
47 | 初级分析:使用webpack内置的stats
48 | 速度分析:使用speed-measure-webpack-plugin
49 | 体积分析:使用webpack-bundle-analyzer
50 | 使用高版本的webpack和Node.js
51 | 多进程/多实例构建
52 | 多进程并行压缩代码
53 | 进一步分包:预编译资源模块
54 | 充分利用缓存提升二次构建速度
55 | 缩小构建目标
56 | 使用Tree Shaking擦除无用的JavaScript和CSS
57 | 使用webpack进行图片压缩
58 | 使用动态Polyfill服务
第六章:通过源代码掌握webpack打包原理 (9讲)
59 | webpack启动过程分析
60 | webpack-cli源码阅读
61 | Tapable插件架构与Hooks设计
62 | Tapable是如何和webpack进行关联起来的?
63 | webpack流程篇:准备阶段
64 | webpack流程篇:模块构建和chunk生成阶段
65 | webpack流程篇:文件生成
66 | 动手编写一个简易的webpack(上)
67 | 动手编写一个简易的webpack(下)
第七章:编写loader和插件 (7讲)
68 | loader的链式调用与执行顺序
69 | 使用loader-runner高效进行loader的调试
70 | 更复杂的loader的开发场
71 | 实战开发一个自动合成雪碧图的loader
72 | 插件基本结构介绍
73 | 更复杂的插件开发场景
74 | 实战开发一个压缩构建资源为zip包的插件
第八章:React全家桶和webpack开发商城项目 (10讲)
75 | 商城技术栈选型和整体架构
76 | 商城界面UI设计与模块拆分
77 | React全家桶环境搭建
78 | 数据库实体和表结构设计
79 | 登录注册模块开发
80 | 商品模块开发
81 | 订单模块开发
82 | 谈谈web商城的性能优化策略
83 | 功能开发总结
84 | 结束语
08 | webpack初体验:一个最简单的例子

08 | webpack初体验:一个最简单的例子

程柳锋
腾讯高级工程师,IVWEB团队社区和工程化负责人
84讲 84课时,约900分钟5460
单独订阅¥99
2人成团¥79
4
本节摘要
登录 后留言

精选留言(24)

  • Atlantis
    如果使用windows系统报错ERROR in Entry module not found: Error: Can't resolve './src/index.js' in 'E:\study\project\node_modules\.bin',可以在package.json中script的对象中添加build:“webpack”(必须是双引号,不然会报错),然后到根目录下面运行npm run build即可
    2019-05-28
    2
    7
  • Amumu
    path 是 node.js的模块,webpack由node.js写成
    2019-05-28
    3
  • 湛庐
    npx webpack 我觉得可以再这里讲下
    2019-06-04
    2
  • 八戒
    请问一下老师,为什么配置文件moduls.exports换成export default后运行就有问题?而在页面中使用export default则正常。

    作者回复: 是因为 webpack 的这个配置没有经过 babel 转换。而这个项目的src 内的代码经过了 babel 转换

    2019-06-02
    1
  • 何鸿biu
    老师你好,我按照视频一样配置了filename 为什么但是输出是默认的main.js

    作者回复: 可以贴一下代码看看吗

    2019-05-29
    1
    1
  • 沧海一声笑哈哈
    老师,我是一名后端开发人员,我想问下在前端开发中使用phpstorm和使用vscode区别很大吗?我需要分别使用对应的ide吗
    2019-12-22
  • sadword
    老师我遇到这样一个问题 找不到哪里错了

    ERROR in ./src/index.js
    Module not found: Error: Can't resolve './hellowrold.js' in 'C:\webcode\pack\src'
     @ ./src/index.js 1:0-43 3:15-25
    2019-11-03
  • 安静
    老师,output里面的path是生成绝对路径,但是直接使用相对路径“./dist”有什么问题吗?这是规定必须使用绝对路径吗?
    2019-10-18
  • Geek_036999
    问一下老师,我刚开始学您的课程,打包的时候报错
    diename is not defined

    作者回复: 你的这个单词拼写错了,是__dirname

    2019-08-19
  • 刘小宅
    在这个视屏当中我看到在index.js文件当中通过import的形式把helloworld进入过来,进行打包后,执行html文件 ,会直接报错的,是因为浏览器不支持es6报错的问题吗, 但是我看老师的视屏是没有这方面的影响, 所以很是疑惑

    作者回复: 可以贴一下报错信息吗?我帮你看看。

    另外经过webpack打包(使用了babel-loader)是会将ES6转换成ES5,浏览器可以正常解析的。

    2019-08-01
    1
  • Kyeon
    在初识webpack那小节里,ppt中的output写的是字符串'./dist/main.js',在这小节中我尝试使用字符串作为output的时候终端会报output应该是一个对象的错误。

    配置文件代码:
    'use strict'

    module.exports = {
        mode: 'production',
        entry: './src/index.js',
        output: './dist/bundle.js'
    }

    运行构建终端报错:
    Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
     - configuration.output should be an object.
       -> Options affecting the output of the compilation. `output` options tell webpack how to write the compiled files to disk.

    也就是说output必须是一个对象,前面的ppt把output写成是字符串仅仅是为了示意用?
    2019-07-29
  • 行问
    可以用git bash来跟着老师的视频走,就不会报错。因为windows自带的powershell或cmd,我通常不用,我都是用cmder或者是git bash
    2019-07-26
  • 简单相遇
    老师,我在window上操作:
    f:\my-project>./node_modules/.bin/webpack -v
    会报 '.' 不是内部或外部命令,也不是可运行的程序 错误,是怎么回事呀
    2019-07-16
  • GitHubGanKai
    老师用的是Mac电脑,在这节中,按照老师的操作 在 ./node_modules/.bin 执行 webpack 可以直接打包,不会报错 ,但是 如果是 Windows 电脑,我们需要 cd 到 ./node_modules/.bin 下,执行webpack打包,但是问题是 会报错 ERROR in Entry module not found: Error: Can't resolve './src/index.js' in 'E:\Data\codeSpace\Webpack\webpack.1.1\node_modules\.bin' 因为我们在 webpack.config.js文件中,entry 是这样配置的 entry: './src/index.js', 在Windows电脑下,会报错,需要将entry 改成这样的 entry: '../../src/index.js', 不然找不到入口文件。这个可能是Mac和Windows电脑的一些区别。

    作者回复: 可以先看下第9节的内容哈,第9节也介绍了更加推荐的做法,通过 npm script 的方式去运行构建,这样不管是 mac 和 windows 都是可以正常运行的。

    2019-07-14
    1
  • 勿妄
    很奇怪了,Cannot find module 'path '

    作者回复: 你需要 const path = require(‘path’); 把path模块引入进来

    2019-06-18
  • Strive
    vsCode的那个主题,很漂亮

    作者回复: 一直用的 One Monokai 这个主题

    2019-06-04
  • Rou
    修改filename仍然生成main.js问题,我是重新创建项目,重新安装webpack之后又可以了

    作者回复: 感觉很有可能是你拼写某个单词的时候拼写错了吧

    2019-06-01
  • 草裙子
    如果webpack.config.js里的module.exports 写错了 写成module.export (少了s) ,那么即使output里配置了filename为bundle.js,打包后输出仍为默认的main.js ; 如果多入口,打包出来也只有默认的一个main.js。

    作者回复: 嗯,这个 module.exports 不能写错。写错的话 webpack 就无法解析这个配置了

    2019-06-01
  • Acelynn
    老师,编码速度不要这么快啊。边看边敲代码的话,完全跟不上节奏。试了下,稍微不留神,不敲代码都有点跟不上切屏速度。能不能敲完代码每段代码,或者几行代码稍微停顿几秒。
    另外,像path这类基础插件,引用到的时候,能不能稍微讲解下用途,知道下做什么用的。

    作者回复: 感谢反馈,后面的小节编码速度会控制下哈

    2019-05-29
    2
  • 从小就很酷
    在window 直接使用 ./node_modules/.bin/webpack 不行这个时候 只有cd到目录 执行webapck 但是 ./src/index就不存在

    作者回复: 可以参考下楼下同学的回复,在package.json中script的对象中添加build:“webpack”(必须是双引号,不然会报错),然后到根目录下面运行npm run build即可

    2019-05-28
收起评论
看过的人还看
重学前端

程劭非(winter)  前手机淘宝前端负责人

58讲 | 33056 人已学习

¥99
TypeScript开发实战

梁宵  搜狗营销事业部高级架构师

47讲 | 3023 人已学习

拼团 ¥99 原价 ¥129
浏览器工作原理与实践

李兵  前盛大创新院高级研究员

43讲 | 6241 人已学习

拼团 ¥79 原价 ¥99
Node.js开发实战

杨浩  腾讯高级工程师

57讲 | 3839 人已学习

拼团 ¥99 原价 ¥129