假设我有一个很小的js
浏览器库,我想将其发布到npm(例如,此one)。
该库只是通过<script>
标签包含在html文件中,然后通常在html文档(或其他js)中使用:
<script src="aplouder.js"></script>
<script>
var library = new Aplouder({...});
</script>
main
中的package.json
参数指定什么?我应该选择browser
而不是main
还是不完全指定其中一个?
可选:如果我要在库中发布2个js
文件(例如es5
和es6
变体),该怎么办?用户决定要使用哪个?
谢谢:)
答案 0 :(得分:0)
1和2::您的应用程序及其依赖项应捆绑在/build
文件夹中
3 :您的应用应捆绑在es5和es6捆绑包中
应使用Webpack管理捆绑软件,通常es6文件存储在/src
目录中,而捆绑软件则存储在/build
或/dist
文件夹中
答案 1 :(得分:0)
通常,您想将js
库既作为npm
软件包,又作为浏览器库进行分发(以老式的方式)。解决此问题的一种方法是将js
库视为npm软件包,并为不依赖任何/dist
编译系统的用户提供module bundler
文件夹中的浏览器捆绑软件(例如webpack,包裹,汇总等)
但是,如果要在客户端使用模块,则应使用browser
字段而不是main
字段。因此,回答问题:
1和2 :使用browser
:
"browser": "src/aplouder.js"
3 :由于您不能使用多个es5
键,因此建议坚持使用es6
或browser
中的任意一个,而不要同时使用两者:在json中。