请问老师我有一个疑问

来源:12-4 创建组件库模块入口文件

hy_wang

2021-09-18

老师我有一个疑问,是不是我理解错了。请问下老师如果我们把模块打包成esm的话,我们在业务中引用这个工程,此时我们一般babel 都会配置排除node module 。这样的话我理解我们打包出来的代码,这个库是不是就没有编译。

写回答

1回答

张轩

2021-09-19

同学你好 说的没错 你的理解是正确的 对于只有 es modules 的模块(比如 lodash-es),如果使用 babel, 可以配置一下 ignore,让它进行编译 https://stackoverflow.com/questions/31822593/import-a-module-from-node-modules-with-babel-but-failed/31822668#31822668

但是由于现代的打包工具 webpack,vite,rollup 等,对 es modules 支持都已经非常完备,所以一般都不需要考虑这种问题,只有一些 node 端使用的工具,比如 jest,使用 lodash-es 的时候,需要进行一个ignore 的配置。

0
2
chinaMasters
建议还是要对lib类库做bable的语法转化,然后app业务应用中可以自己引入polyfill。如果不做bable处理,那必须得告知用户,不然就是给用户埋坑。还有一种就是自己不写es6+的高级语法,那就不用转化了,这些语法可以用eslint来强制校验。
2024-03-18
共2条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2122 学习 · 959 问题

查看课程