标签: core-js

  • Nuxt.js 支持 core-js 3

    Nuxt.js 支持 core-js 3

    Vue CLI 升级到 v4 之后,将内部的 core-js 依赖升级到 v3,关于 core-js v3 和 core-js v2 之间的区别,我在 最近折腾 @babel/preset-env 的一些小心得 里简单介绍过。

    升级完 Vue CLI 之后,在调用 nuxt generate 生成静态页,就会报错,因为 Nuxt.js 默认使用 core-js 2。这个时候,如果 Nuxt.js 版本在 2.6.0 之后,就只需要修改 nuxt.config.js 里的配置,指定 core-js 的版本:

    module.exports = {
      build: {
        babel: {
          presets({ isServer }) {
            return [
              [
                require.resolve('@nuxt/babel-preset-app'),
                // require.resolve('@nuxt/babel-preset-app-edge'), // For nuxt-edge users
                {
                  buildTarget: isServer ? 'server' : 'client',
                  corejs: { version: 3 }
                }
              ]
            ]
          }
        }
      }
    }

    参考文档:https://nuxtjs.org/guide/release-notes#v2.6.0

    说起来 Nuxt.js,用它发布静态页比想象中复杂,如果你想快速掌握这个技能,不妨看下我的这本小书:

  • 最近折腾 @babel/preset-env 的一些小心得

    最近折腾 @babel/preset-env 的一些小心得

    近来厂里的项目越来越多,代码共享必不可少。我现在采取的方案是:

    1. 把公共组件拿出来,开一个新仓库
    2. 使用 webpack 进行打包编译,libraryTarget: 'umd'
    3. 将打包编译的代码一起提交到仓库
    4. 使用 npm i <owner>/<repo> -S 安装依赖,因为我厂的仓库均为私有,所以不能发布到 NPM

    这套方案简单好用,实操效果良好。接下来我希望优化打包结果,于是研究了打包配置项,下面是我的一点心得。

    [2021-04-07] 更新:

    我们目前采用 GitHub Registry 托管私有 packages 的方案,比上面直接安装仓库的方案更好,想了解的同学可以看 使用 GitHub Registry 托管私有 NPM 源

    (更多…)