我创建了一个启用 CORS 的简单节点服务器。但是当我做 node server.js 时,它会抛出错误
Posted
技术标签:
【中文标题】我创建了一个启用 CORS 的简单节点服务器。但是当我做 node server.js 时,它会抛出错误【英文标题】:I have created a simple node server with CORS enabled. But when I do node server.js, it's throwing error 【发布时间】: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 非常感谢您 【参考方案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 命令。
【讨论】:
以上是关于我创建了一个启用 CORS 的简单节点服务器。但是当我做 node server.js 时,它会抛出错误的主要内容,如果未能解决你的问题,请参考以下文章