Angular 未捕获引用错误:未在chereIO.js:5中定义require

Angular 未捕获引用错误:未在chereIO.js:5中定义require,angular,typescript,angular6,Angular,Typescript,Angular6,我正试图在Angular 6应用程序中添加一个“购物”部分。这个购物区将包含一个搜索栏,搜索亚马逊并返回用户想要的任何东西的列表。例如,用户搜索锤子时,列表中将包含锤子。 为了做到这一点,我正在尝试使用Cheerio进行web刮取。尝试在我的TypeScript文件中声明时: declare var require: any; const request = require("request"); const cheerio = require("cheerio"); 我的网页中出现以下错误:

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

declare var require: any;
const request = require("request");
const cheerio = require("cheerio");
我的网页中出现以下错误:


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

如果您在浏览器中运行代码,您将希望使用的不仅仅是typescript编译器来构建您的项目。这是因为浏览器本机不支持调用
require
。别担心,别让这件事吓倒你!有很多成熟的工具通过将所需的代码捆绑到可在浏览器中使用的文件中来解决这个特定问题


文档中有一整节介绍了这些构建工具:

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


文档中有一整节介绍这些构建工具:

TypeScript使用
导入
,而不是
要求

正确的语句是:
import*as cheerio from'cheerio'

我还建议从安装Cheerio类型

此外,试着用“有角度的方式”做事。Angular附带了一系列预先打包的工具,包括来自
@Angular/common/http的
Request
,了解更多信息


假设您不希望任何后端实现同时运行,那么实现scraper最简单的方法是使用公共方法创建一个服务,使您能够将所有内容保存在一个文件中,从而保持组件代码干净且“切中要害”.

类型脚本使用
导入
,而不是
要求

正确的语句是:
import*as cheerio from'cheerio'

我还建议从安装Cheerio类型

此外,试着用“有角度的方式”做事。Angular附带了一系列预先打包的工具,包括来自
@Angular/common/http的
Request
,了解更多信息


假设您不希望任何后端实现同时运行,那么实现scraper最简单的方法是使用公共方法创建一个服务,使您能够将所有内容保存在一个文件中,从而保持组件代码干净且“切中要害”。

我也遇到了上述问题。问题不是来自前端,而是来自cheerio节点模块。我也遇到了所述的问题。问题不是来自前端,而是来自ChereIO节点模块。