一个组件怎么构建成多个方式引用的文件?

2020-04-15 21:42:06 +08:00
 keroppi
新人请教自己封装一个 JS 组件的时候,怎么在打包的时候生成使用 url 地址引用的文件、和在 npm 发布的包两个不同的文件?

就好像 github 上又很多 JS 组件,即可 <script src='somefile.js'></script> 这样引入,也可以 npm i some-pack 这样的。

ps:我这里只是指生成可以用 npm publish 发布的那个模块文件,并不是问怎么发布 NPM 包,另外用传统 URL 引入方式可能对浏览器兼容度不太一样,打包时有用到 babel 转换
1525 次点击
所在节点    JavaScript
2 条回复
sakitamFDD
2020-04-15 21:59:37 +08:00
rollup 或者 webpack,构建目标生成三种~ esm 、commonjs 、umd,其实默认 umd 就支持 node 的 commonjs 模式和浏览器的直接引入
jifengg
2020-04-17 16:45:46 +08:00
我以前自己写的时候用了一种可能不太好的方法:在代码里判断是否存在 window,是就说明是在 web 端,不是就说明是在服务端。然后根据是否 web 端来 import 和 export

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/662842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX