已经在 package.json 写了 main 字段,但为什么还是得这样写?

2023-03-27 0 3,706

已经在 package.json 写了 main 字段,
但为什么还是得这样写才能正确引入

const axios = require('axios/dist/node/axios.cjs')

写了 main 字段 不是就能在 require 时自动找到模块入口吗?

回答:

如果在package.json文件中设置了main字段,那么通常情况下应该可以通过以下方式引入axios:

const axios = require('axios');

(1) 题主的情况应该是Node.js 版本可能不支持 ESM 模块。在这种情况下,尝试使用 CommonJS 格式来引入模块:

const axios = require('axios/dist/node/axios.cjs');

这种方式会直接引入 CommonJS 格式的模块,而不是 ESM 格式的模块。

(2) 另一种情况:项目依赖树中存在多个版本的axios,导致 Node.js 在解析模块时出现问题。可以使用

npm ls axios

命令查看依赖树中是否存在多个版本的 axios,如果存在,可以尝试使用

npm dedupe

命令将它们合并到同一个版本。

如果实在无法确定问题出现的原因,可以尝试重新安装 axios 模块,并清除缓存:

npm uninstall axios
npm cache clean --force
npm install axios

然后尝试再次引入模块,看看问题是否解决。

已经在 package.json 写了 main 字段,但为什么还是得这样写?
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 已经在 package.json 写了 main 字段,但为什么还是得这样写? https://www.jkxiazai.com/1034.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务