首页 > 解决方案 > 未捕获的 ReferenceError:在cheerio.js:5 中未定义要求

问题描述

我正在尝试将“购物”部分添加到我的 Angular 6 应用程序中。这个购物部分将包含一个搜索栏,它将搜索亚马逊并返回用户想要的任何内容的列表。例如,用户搜索锤子,列表将包含锤子。为此,我正在尝试使用 Cheerio 进行网络抓取。当试图在我的 TypeScript 文件中声明它时:

declare var require: any;
const request = require("request");
const cheerio = require("cheerio");

我的网页出现以下错误: 在此处输入图像描述

任何帮助将不胜感激,或者任何关于我试图实现的替代解决方案的建议都会非常有帮助。

标签: angulartypescriptangular6

解决方案


如果您在浏览器中运行您的代码,您将需要使用的不仅仅是 typescript 编译器来构建您的项目。这是因为浏览器本身不支持对require. 不用担心,不要让这阻止你!有大量成熟的工具通过将所需的代码捆绑到可在浏览器中使用的文件中来解决这个特定问题。

文档中有关于这些构建工具的完整部分:https ://www.typescriptlang.org/docs/handbook/integrating-with-build-tools.html


推荐阅读