具有imagemin-webpack,copy-webpack-plugin,URL加载程序和响应加载程序的图像

我想既支持现有格式的最小化图像(png,jpg),又要生成这些图像的webp版本。 目标原为 支持url加载器,响应加载器,imagemin-webpack和copywebpackplugin。 在支持图像的浏览器中使用响应式加载器支持webp(最小化)图像。 在没有webp但支持srcset.F的浏览器中支持响应图像(最小化) 在不支持上述情况的浏览器中回退到原始格式(最小化) 为了实现目标,配置存在一些问题,但在进行调整之后,我设法实现了目标。 这是我的过程(这可能不是正确/最优雅的方法) 我将images目录复制为webp-images目录。 为imagemin-webpack插件添加了一个实例,其中除webp-images目录中的图像外,所有图像均禁用了加载程序。 为此,我使用了带有正则表达式的数组格式的exclude属性。 我无法在没有正则表达式的情况下使排除工作有效(它似乎可以与copywebpackplugin一起使用,但不能在所有情况下均正常工作)与加载程序一起使用。 为imagemin-webpack插件添加了一个实例, imagemin-webpack webp-images目录中的所有图像都禁用了加载程序。 为此,我使用了带有正则表达式的数组格式的include属性。 我无法使用regex使包含工作(没有regex)(它似乎可以与copywebpackplugin一起使用,但在所有情况下均不能正常工作)与加载程序一起使用。 添加了1个支持url-loader的加载器(回imagemin-webpack响应式加载器),其次是imagemin-webpack加载器,用于除imagemin-webpack中的所有webp-images…

将带有WebPack和混淆功能的Electron应用程序捆绑到ES6后端

如今,使用Electron (在我们的案例中是React)构建混合桌面应用程序非常流行。 基本上,它使用Node .js作为后端,并使用Chromium渲染器作为前端,因此项目结构使Node.js可以使很多其他Web应用程序想起。 公司应用程序可能不是开源的,在这种情况下,代码至少应“原样”不可用。 Electron应用程序的资源在ASAR文件(这是一个没有压缩的单个文件容器)中可以最大程度地使用,因此任何人都可以使用该应用程序工作所需的所有资源-前端和后端。 如果第一部分很清楚并且通用,那么第二部分可能会有些棘手,特别是对于复杂的应用程序。 与WebPack捆绑源 应该很简单,但是在进行项目时,这里要记住一些技巧: 所有“ require()”用法都应包含简单的字符串路径。 此处的表达式可能会导致捆绑文件内文件路径的数组映射,因此所有文件结构都易于显示。 另外,它递归地映射了所有可能包含在目录中的文件,因此可能远远超出当前条目所需的文件 。 最好使用单独的模块或全局函数来读取JSON文件。 使用常规和简单的“ require()”会在捆绑的文件中造成混乱,并且它不适用于动态创建的文件(用户设置,DB文件等),因为在需要的地方它将简单地生成引发错误。 没有理由捆绑NPM模块。…

我见过的最严重的错误(一段时间)

在采访开发人员时,我最喜欢问的问题之一是: 您遇到过的最严重的错误是什么? 作为一名面试官,我希望了解一下此人面临的挑战是什么类型,以及他们作为未来的教训可以记住的东西。 这是一个很好的问题,因为它迫使受访者讲一个故事(这样您就可以评估他们的沟通技巧),并且可以很好地了解他们的调试过程。 开发人员通常会花费大部分时间来解决问题,因此重要的是要确保候选人具有良好的故障排除流程。 如果您向经验丰富的前端开发人员提出这个问题,通常会得到有关某个讨厌的Internet Explorer或Safari错误或一些古怪的Javascript故事的故事。 如果您正在采访后端开发人员,则通常会遇到有关文件句柄,一些奇怪的第三方依赖性错误或难以跟踪的竞争条件的故事。 听了这么多不同的故事后,我忘记了所有自己的讨厌的错误故事。 然后,上周,我的团队遇到了一个难以复制的问题,突然间,我发现自己在追逐“我所见过的最严重的错误”。 第一天:就这样开始 让我们从工作至深夜的运营总监Georgina发布到Slack #onfire频道的错误报告开始: 在继续之前,我应该快速解释一下团队的工作。 我在Cumul8工作,我们在该平台上构建了一个平台,该平台使用户可以实时连接,分析,可视化和监视其数据。 该平台的核心部分是一个Web应用程序,它允许用户使用可配置的拖放磁贴构建自定义的仪表板。 构建仪表板是我们服务的核心功能,因此该错误已正确升级为“着火”状态,我们将其用作“所有人都在甲板上”广播,每个人都跳进来尝试伸出援助之手。 好消息是,据报道该问题仅与Chrome无关,这意味着我们在早上进行关键演示时有一个解决方法。…