You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现类似require('module.js/folder')的NPM模块引入方式?

问题解决思路

你遇到的问题核心在于:Node.js引入文件夹时,默认只会加载该文件夹下的index.js(或者package.json里指定的入口文件),不会自动遍历导出所有子文件的内容。所以直接require("./moduleFolder")时,因为没有入口文件整合导出,自然拿不到module和more类。

两种解决方案:

方案一:添加入口文件(推荐)

在moduleFolder目录下新建index.js,把file.js和file2.js的导出整合在一起:

// moduleFolder/index.js
const { module } = require('./file');
const { more } = require('./file2');

module.exports = { module, more };

这样不管是本地测试用require("./moduleFolder"),还是发布后用户用require("你的模块名/moduleFolder"),都能直接访问到mymodule.module和mymodule.more,和你看到的其他模块的用法一致。

方案二:直接引入具体文件

如果不想加入口文件,那不管本地调试还是发布后,都得指定具体的文件路径:

// 本地测试写法
const { module } = require("./moduleFolder/file");
const { more } = require("./moduleFolder/file2");

// 发布后用户的写法
const { module } = require("你的模块名/moduleFolder/file");
const { more } = require("你的模块名/moduleFolder/file2");

那些支持require("module.js/folder")的模块,本质都是在对应文件夹下配置了入口文件,把内部文件的导出统一对外暴露了而已。

内容的提问来源于stack exchange,提问作者Normi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:51:23