Javascript 哪些babel设置适合导出库?

Javascript 哪些babel设置适合导出库?,javascript,webpack,module,bundler,babeljs,Javascript,Webpack,Module,Bundler,Babeljs,我是Babel+网页的新手,对.babelrc的配置有些困惑 第一个配置 第二种配置: 对于第二种配置,事实是: 束大小增加 Core js pure将包括不会污染全球环境的ponyfills 我的问题是,我们将导出一个库名为“XYZ”的“umd”库供公共使用,我不清楚上面的设置中哪些是合适的,因为有一件事真正让我感到困惑的是,如果最终创建的捆绑包被缩小并完全基于esm模式(使用严格模式)构建,并且对于公共使用,它们可以像“XYZ.method”一样访问()”,然后说明第二种配置如何适用,以及它

我是Babel+网页的新手,对.babelrc的配置有些困惑

第一个配置

第二种配置:

对于第二种配置,事实是:

  • 束大小增加
  • Core js pure将包括不会污染全球环境的ponyfills
  • 我的问题是,我们将导出一个库名为“XYZ”的“umd”库供公共使用,我不清楚上面的设置中哪些是合适的,因为有一件事真正让我感到困惑的是,如果最终创建的捆绑包被缩小并完全基于esm模式(使用严格模式)构建,并且对于公共使用,它们可以像“XYZ.method”一样访问()”,然后说明第二种配置如何适用,以及它如何停止污染全局命名空间


    有谁能给我举个例子解释一下,帮我澄清一下这个概念吗?

    过去我自己也遇到过这个问题。老实说,Webpack对于导出超过一个默认值的任何东西都很糟糕,这就是为什么大多数库使用汇总或包裹进行捆绑的原因。

    过去我自己也遇到过这个问题。老实说,Webpack对于导出超过一个默认值的东西很糟糕任何导出多于一个默认值的内容,这就是大多数库使用汇总或包裹进行绑定的原因。

    对于库,汇总是比WebPack更好的选择

    这是一个很好的起点


    如果您必须使用webpack,请避免使用Regenter,因为它会给Babel的输出增加很多膨胀,如果您编写代码需要它,那么消费应用程序应该包括它,这样您就不会在最后使用它两次。应用程序对于库的汇总比webpack好得多

    这是一个很好的起点


    如果您必须使用webpack,请避免使用Regenter,因为它会给Babel的输出增加很多膨胀,如果您编写代码需要它,那么消费应用程序应该包含它,这样您就不会在最终应用程序中拥有它两次了

    谢谢@Steve的建议和回复。您还可以帮助我理解我的问题吗?谢谢@Steve建议和回应。你能帮我理解我的问题吗?
    {
        "presets": [
            [
                "@babel/env",
                {
                    "modules": false,
                    "useBuiltIns": "usage",
                    "targets": "> 0.25%, not dead",
                    "corejs": {
                        "version": 3,
                        "proposals": true
                    }
                }
            ]
        ],
        "plugins": [
            "@babel/transform-runtime"
        ]
    }
    
    {
        "presets": [
            [
                "@babel/env",
                {
                    "modules": false,
                }
            ]
        ],
        "plugins": [
            [
                "@babel/plugin-transform-runtime", //target environment are not supported
                 {
                     "corejs": 3,
                     "helpers": true,
                     "regenerator": true
                 }
            ]
        ]
    }