Javascript 如何在npm包中公开多个文件?

Javascript 如何在npm包中公开多个文件?,javascript,npm,npmjs,Javascript,Npm,Npmjs,我有一个npm软件包。比如说示例包。这是正常的导入方式 从“示例包”导入RootModule 现在我在这里又嵌套了一个文件 包根>src>功能>index.js 现在,如果我必须导入此功能,我会这样做 import Feature from "example-package/src/Feature"; 我可以做些什么来避免使用我的npm包的开发人员编写长嵌套路径,他们使用类似这样的东西 import Feature from "example-package/Feature"; 为了清楚起

我有一个npm软件包。比如说
示例包
。这是正常的导入方式

从“示例包”导入RootModule

现在我在这里又嵌套了一个文件

包根>src>功能>index.js

现在,如果我必须导入此功能,我会这样做

import Feature from "example-package/src/Feature";
我可以做些什么来避免使用我的npm包的开发人员编写长嵌套路径,他们使用类似这样的东西

import Feature from "example-package/Feature";


为了清楚起见,
功能
导出多个选项-
{A,B..}
。我不想从包中导入
功能
,然后再次从
功能
中提取选项。只想导入一个斜杠,无论路径有多长

您可以将该功能添加为索引的导出-

index.js:

import Feature from './Feature.js'
export Feature
然后任何使用包的人都可以像

import { Feature } from 'example-package'

我在网上找到了解决办法。可能的解决方案是在根文件夹中创建一个包含以下内容的文件
/Feature/index.js

module.exports = require('example-package/src/Feature')
现在你可以这样访问它

import Feature from "example-package/Feature";

在发布之前,使用某种自动任务从源代码生成文件夹?这不是我想要的。为了清楚起见,
功能
导出多个选项-
{A,B..}
。我不想从软件包中导入功能并再次从
feature
中提取选项。只想导入一个斜杠,不管路径有多长。