package.json中js浏览器库的入口点

时间:2019-01-02 11:29:22

标签: javascript html npm package.json

假设我有一个很小的js 浏览器库,我想将其发布到npm(例如,此one)。 该库只是通过<script>标签包含在html文件中,然后通常在html文档(或其他js)中使用:

<script src="aplouder.js"></script>

<script>
  var library = new Aplouder({...});
</script>
  1. 我应该为main中的package.json参数指定什么?
  2. 我应该选择browser而不是main还是不完全指定其中一个?

  3. 可选:如果我要在库中发布2个js文件(例如es5es6变体),该怎么办?用户决定要使用哪个?

谢谢:)

2 个答案:

答案 0 :(得分:0)

1和2::您的应用程序及其依赖项应捆绑在/build文件夹中

3 :您的应用应捆绑在es5和es6捆绑包中

应使用Webpack管理捆绑软件,通常es6文件存储在/src目录中,而捆绑软件则存储在/build/dist文件夹中

A nice article to get started publishing on NPM

答案 1 :(得分:0)

通常,您想将js库既作为npm软件包,又作为浏览器库进行分发(以老式的方式)。解决此问题的一种方法是将js库视为npm软件包,并为不依赖任何/dist编译系统的用户提供module bundler文件夹中的浏览器捆绑软件(例如webpack,包裹,汇总等)

但是,如果要在客户端使用模块,则应使用browser字段而不是main字段。因此,回答问题:

1和2 :使用browser

"browser": "src/aplouder.js"

3 :由于您不能使用多个es5键,因此建议坚持使用es6browser中的任意一个,而不要同时使用两者:在json中。