节点无法从导入的模块获取类

时间:2020-08-25 03:16:55

标签: javascript

运行此命令时,节点提示变量trackNames未定义。我尝试了该模块中的其他类,但它们都不起作用。我运行的脚本与此脚本几乎完全相同,并且可以从模块中正常读取。我该如何解决?

const puppeteer = require('puppeteer');
const readline = require('readline');
const en = require('./elementNames');
const rl = readline.createInterface({
    input: process.stdin, 
    output: process.stdout,
    terminal: false
});

let getTracks = async (trackName) => {
    const browser = await puppeteer.launch({headless: true});
    const page = await browser.newPage();
    let url = `https://soundcloud.com/search/sounds?q=${trackName}`;
    await page.goto(url, {waitUntil: 'networkidle2'});

    return await page.evaluate((trackNames) => {
        let trackSearchResults = [];

        document.querySelectorAll(trackNames).forEach(name => {
            trackSearchResults.push(name.innerText);
        });

        return trackSearchResults;
    }, en.searchTracks.trackNames)
}

module.exports = {
    searchTracks: () => {
        rl.question("Search for a track: ", async (inputTrack) => {
            let trackNames = await getTracks(inputTrack);
        })
    }
}

0 个答案:

没有答案