子咻
子咻
回头看了下当年写的这文章,还是有很多问题的,官网其实有很完整的教程,建议直接参考官网: [writing-a-loader](https://webpack.js.org/contribute/writing-a-loader/)
e2e参考项目实在是太少,也希望大家能够推荐一些文章或者项目,谢谢啦!
编译器 简单的说,就是将一种语言翻译成另一种计算机或虚拟机可以直接执行的语言(通常为机器语言,例外如JAVA编译器,输出的是.class二进制文件,可被JVM解读)。 https://baike.baidu.com/item/%E7%BC%96%E8%AF%91%E5%99%A8 机器语言 机器语言是一种指令集的体系。这种指令集由二进制代码组成,称为机器码。它们可以被计算机的CPU直接解读并执行。 https://baike.baidu.com/item/%E6%9C%BA%E5%99%A8%E8%AF%AD%E8%A8%80 编译型语言(Compiled language) 通过编译器产出的代码。 如C、C++等。 反编译器 编译器的逆向过程。 解释器 和编译器一样,将一种语言翻译成另一种计算机或虚拟机可以直接执行的语言(通常为机器语言)。 与编译器不同的是,解释器是在程序运行时,边运行,边转译,生成计算机可以执行的代码。 而编辑器则是预先就把计算机可直接执行的代码转译生成完了,生成计算机可以执行的代码。 目的:跨平台 解释型语言 通过解释器执行的代码。 如:javascript等。 JAVA类语言是编译型语言还是解释型语言? JAVA从源代码到最终计算机可执行程序的过程: 源代码——(编译器).class二进制文件——(JVM[解释器+JIT])机器语言 所以,JAVA类语言属于编译解释型语言。
> 老哥,文章可否授权公众号:全栈前端精选 转载,标明作者和出处 可以滴 @Nealyang
> 老哥, 文章可否授权微信公众号: React 转载,文章会标明作者和出处的 没问题
> windows平台,node: v8.17.0 > 执行npm run prod, uglifyjs-webpack-plugin会在混淆压缩中报错 抱歉身边没windows的设备,不过uglifyjs这个如果babel没有处理好高版本的语法的话,压缩会有问题,可以替换为terser-webpack-plugin试试看。 这个项目demo比较老,已经不维护了。
恩,uglifyjs-webpack-plugin对于不能转译的语法的确是会报错中断了。不然你想想,它不告诉你他转译不了,或只是warning提示,使用者可能注意不到这个问题,然后项目上线了,那样的话,会被开发者吐槽惨的。
font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; } 恩,uglifyjs-webpack-plugin对于不能转译的语法的确是会报错中断了。不然你想想,它不告诉你他转译不了,或只是warning提示,使用者可能注意不到这个问题,然后项目上线了,那样的话,会被开发者吐槽惨的。 1006312908 [email protected] 签名由 网易邮箱大师 定制 On 12/30/2020 14:10,yang1212 wrote: uglifyjs-webpack-plugin作为压缩混淆插件,自2.x版本后基于uglify-js,故不再支持es6的压缩。官方推荐webpack4内置terser-webpack-plugin(支持es6压缩)或者降级版本(支持es6压缩)。 其实我想明白的是2.x版本的目的是不是在压缩阶段就进行拦截,对于存在未转译es6代码直接报错,让低版本浏览器达到更好的兼容。 可是我自己搭的小案例用2.x版本测试都是如上类似的报错,看到你的项目中使用才有此疑问,不明白是这个插件的问题,还是其他。 ------------------ 原始邮件 ------------------ 发件人: "CodeLittlePrince/vue-construct"
@admin00001欢迎提建议
@luo7023539 多谢肯定^-^