我正在尝试使用Puppeteer框架运行脚本。 (我是软件的新手)。每次尝试运行时,都会出现以下错误。我确信代码没有错,因为它可以在其他机器上正常工作。由于main.js调用了(仅)函数,因此该错误被正确记录。
SyntaxError: Invalid or unexpected token
at new Script (vm.js:80:7)
at createScript (vm.js:274:10)
at Object.runInThisContext (vm.js:326:10)
at Module._compile (internal/modules/cjs/loader.js:664:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
var puppeteer = require('puppeteer');
var $ = require('cheerio');
const url = 'https://www.reddit.com/controversial/';
puppeteer
.launch()
.then(function(browser) {
return browser.newPage();
})
.then(function(page) {
return page.goto(url).then(function() {
return page.content();
});
})
.then(function(html) {
$('h2', html).each(function() {
console.log($(this).text());
console.log('\r\n');
});
})
.catch(function(err) {
//handle error
});
我已根据此链接(How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X))卸载,清理并重新安装了Node.js
答案 0 :(得分:2)
这实际上与木偶戏完全无关。在第4行上,您有一个zero width space字符,该字符看起来并不像什么,但会使您的Node程序无效。如果您是从网站或其他来源复制一行,则有时会出现这种情况。
如果删除该行并插入空白新行,那应该没问题。我通过复制代码,安装依赖项并运行它进行了测试。根据您的编辑器,您应该能够显示出意外的Unicode字符。