Rhy*_*amm 5 javascript node.js npm
我最近向 NPM 发布了一个私有模块,其中包含一些我们在一些服务中使用的通用代码。
代码是用 ES6 编写的,所以我们需要在发布到 NPM 之前使用 babel 对其进行转换。我有一个预发布脚本,可以转换src为lib.
index.js此模块中没有文件,因为它只是一些通用代码。
我遇到的问题是,当我从 NPM 安装模块时,使用require('@ourorg/ourmodule/somecode')不起作用(找不到模块)。相反,我必须使用require('@ourorg/ourmodule/lib/somecode').
我尝试将main字段更改package.json为 的许多变体lib,但除非我包含index.js文件,否则它似乎不起作用,在这种情况下,require('@ourorg/ourmodule')返回导出到那里的任何内容。我可以看到的一种解决方法是将所有通用代码导出到一个index.js文件中,但这根本无法维护。
mainin 中的字段遵循package.json与普通 Node 导入相同的规则 - 它应该指向特定的单个文件,或者它可以指向其中包含 的目录index.js。
据我所知,没有办法让导入包只是目录的别名。如果有的话,会require("@ourorg/ourmodule")返回什么?
lib如果每次导入某些内容时都必须输入,这绝对会让您发疯,也许您可以在构建过程中添加一个步骤,自动生成一个index.js重新导出根目录下的所有内容的步骤?
| 归档时间: |
|
| 查看次数: |
5069 次 |
| 最近记录: |