浏览器环境通过CDN引入node-fetch无日志输出,求正确使用方法
解决纯HTML/JS环境中CDN引入node-fetch无日志输出的问题
问题原因
node-fetch@3.x版本是专为Node.js环境开发的,依赖http、https等Node.js内置模块,浏览器环境无法解析这些依赖,会导致模块加载静默失败,后续代码完全不执行,所以控制台没有任何日志。
解决方案
方案1:改用兼容浏览器的node-fetch v2.x版本
v2.x版本同时支持Node.js和浏览器环境,直接通过CDN引入即可正常使用:
HTML代码:
<script type="module" src="module.js"></script>
module.js代码:
import fetch from 'https://cdn.jsdelivr.net/npm/node-fetch@2.6.7/+esm'; // 现在可以正常输出日志 console.log(fetch); console.log("asdsad"); // 测试请求示例 fetch('https://jsonplaceholder.typicode.com/todos/1') .then(res => res.json()) .then(data => console.log('请求结果:', data));
方案2:直接使用浏览器原生fetch(推荐)
现代浏览器已经原生支持fetch API,无需额外引入第三方库,直接调用即可:
module.js代码:
console.log(window.fetch); console.log("asdsad"); // 原生fetch请求示例 fetch('https://jsonplaceholder.typicode.com/todos/1') .then(res => res.json()) .then(data => console.log('请求结果:', data));
内容的提问来源于stack exchange,提问作者HASEEB ALAM RAFIQ
相关产品推荐
相关产品推荐

