• 背景:

    项目上线前是专门针对 webpack 打包做了优化的,但是在之后做网络优化的时候通过webpack-bundle-analyzer这个插件发现一些公共的js文件重复打包进了业务代码的js中。这些代码体积虽然很小,但是为了将优化做到极致还是想要将其优化一下。这个过程最大的收获就是让自己对 webpack4.x 相关配置项更加的熟悉,能够使用 webpack 游刃有余的实现自己想要的打包方式。

    记得之前的一位前辈同事说过一句前端优化的话:前端优化就是权衡各种利弊后做的一种妥协。

    优化结果:

    这里先看下优化结果,因为项目是多入口打包的模式(项目脚手架点击这里)每一个页面一个链接且每一个页面都

  • webpluswebplus/blog· 1 天前

    通过Vue CLI Plugin Electron Builder可以很方便的基于Vue CLI3 进行Electron桌面应用的开发

    大致步骤:

    1、新建vue工和
    vue create my-project

    然后将CD放入该目录,在本例中为“my-project”

    2、安装vue-cli-plugin-electron-builder
    vue add electron-builder

    3、启动
    npm run electron:serve

    当您准备好部署时,可以使用

    npm run electron:build

  • webpluswebplus/blog· 1 天前

    1、Custom Mirror
    electron_mirror="https://npm.taobao.org/mirrors/electron/"
    通过npm config set electron_mirror="https://npm.taobao.org/mirrors/electron/"

  • url =>base64

    let urlToBase64 = url =>
      new Promise((resolve, reject) => {
        let image = new Image();
        image.onload = function() {
          let canvas = document.createElement("canvas");
          canvas.width = this.naturalWidth;
          canvas.height = this.naturalHeight;
          canvas.getCont
  • 在 Web 应用中,有一块内容非常重要,却很容易被我们忽略:参数验证,忘了之后常常会给我们造成大量的处理错误问题,甚至直接造成应用崩溃。之前我在 你的团队需要更好的 API 文档流程 提到过,Joi 的验证非常好用,可以帮助我们验证客户端用户的上传数据以及返回数据,而在 Golang 中,我们该如何做呢?

    如果需要我们自己验证

    显然,肯定是有的,而且跟我们又爱又恨的 reflect 有关系,因为对于强类型语言来说,如果没有元编程的帮助,对于数据的验证会变得非常难受:

    if strings.Trim(mobile, " ") == "" {
      return nil, ErrEmptyPar