我创建了一个启用了CORS的简单节点服务器。但是当我做节点server.js时,它会抛出错误

问题描述 投票:3回答:2
const express = require('express');

const cors = require('cors');

const app = express();



app.use(cors());

app.get('https://jsonplaceholder.typicode.com/todos/1', (req, res) => {
  res.send({ express: 'Hello From Express' });
});

const port = 3030;
app.listen(port, () => console.log(`Server running on port${port}`));

我创建了一个启用了CORS的简单节点服务器。但是,当我这样做,节点server.js,它抛出一个特定的错误,我无法弄明白。

internal/modules/cjs/loader.js:596
    throw err;
    ^

Error: Cannot find module 'C:\Users\Cnetric\Desktop\reactonline\server.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
    at startup (internal/bootstrap/node.js:238:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

有人可以帮我这个。我无法排除故障。我是节点的新手,无法弄明白。

我的文件夹结构

reactonline-> src,public,node_modules,package。

然后在src文件夹下,我的所有文件都在那里。

enter image description here

node.js reactjs cors node-modules
2个回答
2
投票

如评论中所述。你的package.json文件在根文件夹中,你在src文件夹中有server.js,这就是问题所在。

将server.js文件移动到根文件夹下,例如,如果在server.js中包含任何文件,则使用reactonline并解决路径问题。它现在可以工作了

关于从外部源获取数据,您需要使用node-rest-client库。有关图书馆的更多详情,请访问Check here

首先安装它

npm install -s node-rest-client

然后在这里

const express = require('express');

const cors = require('cors');
const Client = require('node-rest-client').Client;//import it here
const app = express();

app.use(cors());

app.get('/', (req, res) => {

   var client = new Client();

   // direct way
   client.get("https://jsonplaceholder.typicode.com/todos/1", (data, response) => {
    res.send({ express: 'Hello From Express', data: data });
   });
});

const port = 3030;
app.listen(port, () => console.log(`Server running on port${port}`));

2
投票

它试图在错误的位置找到该文件:

'C:\Users\Cnetric\Desktop\reactonline\server.js'

它实际上是:

'C:\Users\Cnetric\Desktop\reactonline\src\server.js'

您应该在正确的文件夹中运行node命令。

© www.soinside.com 2019 - 2024. All rights reserved.