• Lexicographical
    2019-06-04
    看了一下评论区的问题主要集中在
    const CleanWebpackPlugin = require('clean-webpack-plugin');
    const { CleanWebpackPlugin } = require('clean-webpack-plugin');
    的问题。

    主要是clean-webpack-plugin这个插件进行了大版本升级,作者提供了不同的导出源码
    class CleanWebpackPlugin {
        // ...
    }
    // v2+
    var _default = CleanWebpackPlugin;
    exports.default = _default;
    module.exports = exports.default;
    module.exports.default = exports.default;
    // v3
    exports.CleanWebpackPlugin = CleanWebpackPlugin;

    可知v3只剩下解构一种方式了。
    展开

    作者回复: 是的,可能这个插件的后续的版本会提供其它的类出来,手动滑稽

    
     5
  • Mr. Van
    2019-06-19
    老师,dev环境文件写在缓存当中,为什么还要清理呢?多谢。
     2
     4
  • 生命之源( John Hu...
    2019-06-08
    老师,您好!麻烦你尽快上传第三章的讲课内容的PPT链接,给同学们下载方便学习,可以吗?非常感谢!

    作者回复: 已上传

    
     1
  • Zkerhcy
    2019-06-06
    这里应该在第二次build的时候把源代码的文件稍作修改,这样构建后文件指纹变了,CleanWebpackPlugin的作用看起来才直观些。

    作者回复: 哈哈,细致,确实是的

    
     1
  • Leona
    2019-09-08
    老师,请问我不是很明白生产模式和开发模式在配置上到底有什么区别呢。哪些是在开发模式配置的哪些是在生产模式配置的呢?
    
    
  • RisingSun
    2019-08-26
    为什么我 const CleanWebpackPlugin=require('clean-webpack-plugin'); 必须写成
    const { CleanWebpackPlugin } = require('clean-webpack-plugin'); 才不报错
     1
    
  • 恶魔辣条儿
    2019-08-08
    Clean 这个plugin为啥放在plugins的最后, plugins的顺序有什么要求吗? 我以为要先清除, 要放在前面才合理诶.
    
    
  • 蔡鑫
    2019-07-05
    老师,由于各个plugin和loader的包一直在更新,所以在操作过程中一旦添加的依赖包(默认最新)和你的不一致。项目运行=就会报错!请问这个应该怎么解决?
     1
    
  • 殷川
    2019-06-12
    老师👨‍🏫讲的节奏刚刚好 赞赞赞👍

    作者回复: 感谢夸奖,哈哈

    
    
  • 驴肉蒸饺
    2019-06-05
    请问老师,这些plugin的引入顺序没有要求吗,我看您加入clean时,直接加到了最后面。

    作者回复: loader 有严格的顺序要求

    plugins 可能会存在顺序要求,不过很少,不是很严格,这个也是 webpack 会让人困惑的地方。因为 plugin 是通过 webpack 的 Tapable 的钩子进行事件控制的,也就是插件通过事件监听的方式进行执行。用的plugin会自己绑定相应的事件,所以一般不用关注顺序。

    
    
  • RELAX
    2019-06-05
    const { CleanWebpackPlugin } = require('clean-webpack-plugin');
    的问题。

    原作者为什么要这么写,非要让使用者解构一下?返回的对象里除了这个函数之外,还有其他的内容吗?
    我觉得有点莫名其妙。

    命名就是一个构造函数,也仅仅返回一个构造函数,直接模块导出这个构造函数不行吗?。。蛋疼。
    展开

    作者回复: 确实比较蛋疼,主要这个插件就导出了这一个方法。。

    
    
  • DJ
    2019-06-04
    我用了 const CleanWebpackPlugin = require('clean-webpack-plugin');
    npm run build 提示错误 CleanWebpackPlugin is not a constructor
    之后改为 const { CleanWebpackPlugin } = require('clean-webpack-plugin');
    就可以正常build
    困惑:为什么要重构模块?

    作者回复: 重新 build 的模块需求很多的。

    1. 本地开发阶段:想看看代码打包出来的体积大小,比如一个页面打包出发发现有 1M 的 js,这个显然是不合理需要优化的。打包出来的图片资源太大(500k)、太小(3k)等等,这些都需要优化相关资源后再次打包看效果。

    2. 机器部署资源到 cdn,每次机器部署也是会进行 npm run build 这个命令去打包代码,打包后进行资源同步的操作(ssh,rsync等)。每次 push 代码到 Git 等平台会重新触发构建。如果构建前不清理构建目录,那么需要部署的文件夹会越来越大,项目一多,机器磁盘都打爆了。

    3. 线上代码发现错误,本地可以进行 npm run build 去代理线上脚本,修改完错误后也需要重新 build 看看结果

    
    
  • Devin
    2019-06-04
    报这个错误:TypeError: CleanWebpackPlugin is not a constructor
    改成: const { CleanWebpackPlugin } = require('clean-webpack-plugin') 就好了!

    作者回复: 嗯嗯,clean-webpack-plugin(https://github.com/johnagan/clean-webpack-plugin) 在5.29的时候发布了3.0版本,用法变了。

    主要明白为什么要清理构建目录哈,掌握精华

    
    
  • KI
    2019-06-04
    老师您好,跟着您的视频做,但项目报错:TypeError: CleanWebpackPlugin is not a constructor是什么原因?

    作者回复: 嗯嗯,clean-webpack-plugin(https://github.com/johnagan/clean-webpack-plugin) 在5.29的时候发布了3.0版本,用法变了。

    把这个插件的引入改成:
    const { CleanWebpackPlugin } = require('clean-webpack-plugin');

    
    
  • 花谢花开
    2019-06-04
    引入要使用 { ClearWebpackPlugin } 不然要报错, 请问下老师这与您那种写法有什么区别

    作者回复: 没差别,这个插件刚好在5.29号那天发布3.0大版本了,用法变了而已

    
    
我们在线,来聊聊吧