如何解决Cheerio 不是与本地 node.js 版本相同的服务器上的函数
我有一个使用cheerio的刮刀。
var cheerio = require('cheerio');
$ = cheerio.load(s,{ decodeEntities: true });
var sel = $('.text');
cheerio(sel).find(selector)
当我在本地调用它时,它工作正常。当我在装有 Cent OS 但在本地使用相同节点版本 (12.18.3) 的服务器上调用它时,出现 cheerio is not a function
错误。我清除了本地和远程的 node_modules 文件夹并进行了 npm install
但没有更改。还有什么会导致这种奇怪的行为?
解决方法
我发现有时需要导出 require('packageName').default
。所以我试了一下,可以在遥控器上修复它,但本地 require('cheerio').default
不起作用。现在它可以在本地和服务器上使用以下解决方案工作:
var cheerio = require('cheerio');
if (typeof (cheerio) != 'function') cheerio = require('cheerio').default;
我只是不知道为什么它在具有相同 node.js 版本的两台机器上不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。