如何调用自行编写的npm包中的函数?
解决npm包中HTTP请求处理函数的调用问题
你的导出写法是正确的,问题主要出在调用脚本的导入路径上,按以下步骤调整即可:
修正导入路径
本地文件导入用相对路径./functions.js,但npm包要直接用包名导入,替换后的代码如下:import { handle_request } from 'package_name'; import http from 'http'; http.createServer(handle_request).listen(8080);注意:
package_name必须和你npm包package.json里的name字段完全一致,大小写也要匹配。确认导出有效性
你当前的导出语法没问题,也可以换成更直观的函数声明式导出,功能完全一致:export function handle_request(req, res) { // 函数逻辑... }本地开发包的快速测试方法
如果是本地开发未发布的包,用npm link可以避免重复安装:- 在你的包目录下执行:
npm link - 在需要调用包的项目目录下执行:
npm link package_name
之后就能像使用线上包一样正常导入调用。
- 在你的包目录下执行:
Node.js版本兼容检查
确保你的Node.js版本在14.13.0及以上,这个版本开始对ES模块(type: module)支持更完善,避免因版本过低导致的导入问题。
内容的提问来源于stack exchange,提问作者snaut
相关产品推荐
相关产品推荐

