模块“util”已外部化以实现浏览器兼容性。无法在客户端代码中访问“util.promisify”

equ*_*qui 6 javascript node.js sveltekit

我正在尝试使用此库抓取 LinkedIn 个人资料: https://www.npmjs.com/package/@nhn/linkedin-profile-scraper。这是我的代码:

<script>
import { LinkedInProfileScraper } from '@matidiaz/linkedin-profile-scraper';
    import { onMount } from 'svelte';
    import { session } from '$app/stores';

    onMount(async () => {
        const token = session?.provider_token;
    console.log(token);
        const scraper = new LinkedInProfileScraper({
            sessionCookieValue: token,
            keepAlive: false
        });

        // Prepare the scraper
        // Loading it in memory
        await scraper.setup();

        const result = await scraper.run('https://www.linkedin.com/in/jvandenaardweg/');

        console.log(result);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我正在使用 sveltekit 来获取信息,有人可以指出如何解决这个问题,我在网上找不到太多信息。

小智 13

您好,对我有用的是修复 vite.config.ts 以添加resolve.alias选项,如下所示:

resolve: {  
    alias: {
        process: "process/browser",
        stream: "stream-browserify",
        zlib: "browserify-zlib",    
        util: "util/",
        '@': path.resolve(__dirname, './src'),
    }
}

Run Code Online (Sandbox Code Playgroud)

我们实际上解析了 util 的别名并添加了“util/”

  • 公平地说,这个答案并没有解决OP的问题,但它对我有帮助。为了澄清这一点,请添加到您的“vite.config.ts”“defineConfig({resolve: {alias:{util:“util/”} } });”。 (3认同)

equ*_*qui 0

npm i util,
Run Code Online (Sandbox Code Playgroud)

但是这个库仍然出现错误,所以我将其删除。