发布用于客户端和node.js的库

时间:2019-04-26 18:30:03

标签: javascript node.js typescript npm ecmascript-6

在回答上一个问题之后,我遵循了使用多个目标构建NPM软件包的webpack准则。 https://webpack.js.org/concepts/targets/#multiple-targets

我现在有两个不同的输出文件,即浏览器捆绑包index.js和显然应该在后端运行的index.node.js。

该应用程序应同时在浏览器和Node上运行,代码大部分被重用,但是在访问文件等方面有很大的不同。这意味着我确实需要两个单独的文件,具体取决于该应用程序应在哪个平台上运行。

我的问题是,无论从浏览器还是在节点应用程序中使用它,如何从NPM导入该库以使用户可以像import {//SOME OBJECT} from 'my-published-library'一样使用它?如果目前我尝试这样做,它将始终默认为index.js,它在浏览器中有效,而在Node中不可用。

1 个答案:

答案 0 :(得分:0)

不确定这是否在寻找什么,但是如果要为浏览器进行安装,则package.json提供一个用于设置入口点的字段。

https://docs.npmjs.com/files/package.json#browser