Node.js文件用于运行具有access-control-allow-origin的本地服务器

4
我有一个 HTML 文件,它在其目录中有资源。
(例如文件树)
index.html
imgs
  >img1.jpg
  >img2.jpg
  >img3.jpg
js
  >js1.js
  >js2.js

如何运行一个Node.js服务器,使我能够查看HTML文件,并允许我访问具有access-control-allow-origin*的特定网站?
由于我对Node不熟悉,所以越简单越好!
额外提示:服务器不一定要是Node,只需允许访问控制即可。

https://github.com/zeit/serve - Will
在这个网站上,你通常会进行一些自己的研究来了解选项,编写一些代码,然后当你遇到问题并且包括目前已有的代码时,在这里发布。这个网站不适合那些只是复制网络上已有内容的初学者教程。你目前做了哪些研究?你已经完成了什么?你是否构建了一个基本的Node.js服务器,可以继续添加功能?网络上有成千上万的教程可供参考。 - jfriend00
2
你的服务器(在这种情况下是node.js服务器)与其他特定网站无关。如果它们通过access-control-allow-origin允许CORS,那就很好,但是你的服务器无法控制其他人的服务器发送什么。 - Jaromanda X
@JaromandaX 我认为Kore只是想玩一些前端的东西,只需要一个简单的Web服务器,可以扩展额外的功能。为了避免浏览器的CORS问题,他请求提供示例。 - num8er
1
@num8er - 我对问题的理解不同 :p - Jaromanda X
显示剩余2条评论
2个回答

2

由于你正在学习并从零开始,因此最好学习如何执行操作,而不是安装会隐藏逻辑并使你变得无聊懒惰的“超级瑞士军刀工具集”。

如果你只想快速实现结果而不想学习 - 你可以使用 serve 包来完成你需要的功能。

但如果你要从零开始学习 nodejs,那就请看我的回答。

做简单的事情更好。

让我们开始吧 (:

创建一个文件夹,并在其中输入以下命令(在终端或 Windows 操作系统的 cmd 中):

1) 初始化应用:

npm init

2) 安装 express 模块:

npm i --save express

3) 安装 cors 模块/中间件:

npm i --save cors

4)创建public文件夹并将您的html文件放在其中。

5)在与public同级的文件夹中创建app.js文件:

"use strict";

const
  express = require('express'),
  app = express(),
  cors = require('cors');

app.use(cors()); // attach cors middleware (must be set before of most route handlers to populate appropriate headers to response context)
app.use('/', express.static('public'));
app.listen(8080, () => console.log('APP STARTED'));

6) 运行它:node app.js

7) 在浏览器中打开:http://127.0.0.1:8080

如果需要更多的资料,请在YouTube上搜索nodejs express教程nodejs mean stack教程等。 (:


完成此操作后,我仍然遇到以下错误: 请求的资源中没有“Access-Control-Allow-Origin”标头。因此,不允许访问来源“http://127.0.0.1:8000”。 - Kore
@Kore已修复,请查看我的更新答案。(截图:http://joxi.ru/823gg6UJge8b2O) - num8er

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接