【问题标题】:I have created a simple node server with CORS enabled. But when I do node server.js, it's throwing error我创建了一个启用 CORS 的简单节点服务器。但是当我做 node server.js 时,它会抛出错误
【发布时间】:2019-02-09 04:52:31
【问题描述】:
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 的简单节点服务器。但是当我这样做时,node 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文件夹下,我所有的文件都在那里。

【问题讨论】:

  • 你的起点文件名是什么?你的 reactonline 文件夹中是否存在 server.js 文件?
  • @SvetoslavPetrov 是的,我附上了它的截图......
  • @Think-Twice 是的,我已经在帖子中包含了文件夹结构,我现在已经对其进行了编辑。
  • 您的 server.js 在 src 文件夹中,而您的 package.json 在 reactonline 文件夹中,那么它是如何工作的。您需要将 server.js 文件移动到根文件夹,即 reactonline
  • @Think-Twice 非常感谢您

标签: node.js reactjs cors node-modules


【解决方案1】:

如 cmets 中所述。您的 package.json 文件位于根文件夹中,而 server.js 位于 src 文件夹中,这是问题所在。

如果您在 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}`));

【讨论】:

  • 是的,它现在正在工作....但是我无法从 url 获取数据....
  • 与任何外部 URL 对话以获取使用 node-rest-client 库所需的数据
  • 我将如何在我当前的服务器中配置它。你能给我一个关于这个的见解吗?
  • 更新了我的答案检查
【解决方案2】:

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

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

其实是在:

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

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

【讨论】:

    猜你喜欢
    • 2018-12-09
    • 2012-05-30
    • 2022-10-13
    • 1970-01-01
    • 2022-06-26
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多