我正在使用Angular 6
和scraperjs。
在我的组件文件中,使用了示例中给出的代码,如
import { Component, OnInit } from '@angular/core';
import scraperjs from 'scraperjs';
@Component({
selector: 'app-express',
templateUrl: './express.component.html',
styleUrls: ['./express.component.css']
})
export class ExpressComponent implements OnInit {
constructor() { }
ngOnInit() {
this.aliExpress();
}
aliExpress() {
console.log('loaded ali express');
scrapperjs.StaticScraper.create('https://news.ycombinator.com')
.scrape(function ($) {
return $('.title a').map(function () {
return $(this).text();
}).get();
}).then(function (news) {
console.log(news);
});
}
}
但是它给出了错误
Failed to compile.
./node_modules/cheerio/index.js
Module not found: Error: Can't resolve './package' in '/home/user/code/angular/ali-express/node_modules/cheerio'
答案 0 :(得分:0)
运行
npm install
命令安装相关软件包。 我认为相关软件包没有正确安装。
答案 1 :(得分:0)
您正在使用require()
加载文件,这不是在Angular中加载文件的标准方法。
在这里,它尝试在运行时加载,但找不到。
请尝试通过导入加载它。如果还是不能,请尝试将其加载到main.ts
中。我不确定,但是我以相同的方式加载了Hammerjs。
答案 2 :(得分:0)
从解决方案文件夹结构中删除nodeModules,然后尝试安装 npm-install