在客户端从Nodejs调用函数:require未定义

问题描述

我了解到有一些类似的问题。但是,我找不到解决问题的方法。我正在从项目中使用svelte和nodejs。我正在从服务器端获取JSON文件,并想使用require在客户端调用该函数。下面是我在服务器端的代码。

DataService.js

const fetch = require('node-fetch')

let data;
;(async ()=>{
    const res = await fetch('http://localhost:3000/api/tables.json');
    data = await res.json();
    // console.log(data);
})()

export const getTable = () => {
    console.log(data);
    return data;
    // console.log(data);
}

当我尝试从客户端调用getTable()时,出现错误消息“ require is not defined”。我从各种答案中了解到,这些答案仅适用于服务器端,而不适用于客户端。提到的一些解决方案,我曾经考虑过使用Script,commonjs,browersify等。

这是我的客户端代码。

Catalog.svelte

<script >
import {getTable} from '../components/dataservice.js';

console.log(getTable()); //gives an error of require is not defined


</script>

<h1>Table</h1>

如果我从Dataservice.js中删除“ const fetch = require('node-fetch')”,它将给我未定义的内容,并且未定义获取。

几天来我一直在努力解决这个问题,希望能对您有所帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)