Node.js 快速文件服务器(通过 HTTPS 的静态文件)
Node.js quick file server (static files over HTTPS)
我已经使用 node.js 应用程序中的这些命令成功地创建了带节点的 https 服务器:
var http = require('http');
var https = require('https');
var fs = require('fs');
var httpsOptions = {
key: fs.readFileSync('path/to/server-key.pem'),
cert: fs.readFileSync('path/to/server-crt.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
http.createServer(app).listen(8888);
https.createServer(httpsOptions, app).listen(4433);
我想做的是从文件夹中创建 https 服务器 运行,类似于 this,用于 http-server。因此,如果我稍后在 https 文件夹中添加文件,则可以轻松地从 https://localhost:4433/main.js
访问文件(main.js 只是一个示例文件)。可以为 https 做吗?
是的,有可能。
参考这个回答
或
第一步.写一个服务器
您可以使用纯 node.js 模块来提供静态文件,也可以使用快速框架来解决您的问题。 https://expressjs.com/en/starter/static-files.html
步骤 2. 编写命令行脚本
您必须编写一个脚本,最好保存到 bin 文件夹中,该文件夹接受文件夹路径、端口等命令行参数并启动服务器。此外,您可以使用 node.js 使用 commander.js 等编写此类脚本
- 在请求中找到URL
- 使URL成为你的文件夹文件路径
- 通过文件路径读取文件数据
- 响应文件数据
示例如果您的文件夹有 1.txt 2.html
localhost:8000/1.txt
将得到 1.txt
localhost:8000/2.html
将得到 2.html
const http = require('http')
const fs = require('fs')
const path = require('path');
const server = http.createServer((req, res) => {
var filePath = path.join('.',req.url)
// Browser will autorequest 'localhost:8000/favicon.ico'
if ( !(filePath == "favicon.ico") ) {
file = fs.readFileSync(filePath,'utf-8')
res.write(file)
}
res.end();
});
server.listen(8000);
我已经使用 node.js 应用程序中的这些命令成功地创建了带节点的 https 服务器:
var http = require('http');
var https = require('https');
var fs = require('fs');
var httpsOptions = {
key: fs.readFileSync('path/to/server-key.pem'),
cert: fs.readFileSync('path/to/server-crt.pem')
};
var app = function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}
http.createServer(app).listen(8888);
https.createServer(httpsOptions, app).listen(4433);
我想做的是从文件夹中创建 https 服务器 运行,类似于 this,用于 http-server。因此,如果我稍后在 https 文件夹中添加文件,则可以轻松地从 https://localhost:4433/main.js
访问文件(main.js 只是一个示例文件)。可以为 https 做吗?
是的,有可能。
参考这个回答
或
第一步.写一个服务器
您可以使用纯 node.js 模块来提供静态文件,也可以使用快速框架来解决您的问题。 https://expressjs.com/en/starter/static-files.html
步骤 2. 编写命令行脚本
您必须编写一个脚本,最好保存到 bin 文件夹中,该文件夹接受文件夹路径、端口等命令行参数并启动服务器。此外,您可以使用 node.js 使用 commander.js 等编写此类脚本
- 在请求中找到URL
- 使URL成为你的文件夹文件路径
- 通过文件路径读取文件数据
- 响应文件数据
示例如果您的文件夹有 1.txt 2.html
localhost:8000/1.txt
将得到 1.txtlocalhost:8000/2.html
将得到 2.html
const http = require('http')
const fs = require('fs')
const path = require('path');
const server = http.createServer((req, res) => {
var filePath = path.join('.',req.url)
// Browser will autorequest 'localhost:8000/favicon.ico'
if ( !(filePath == "favicon.ico") ) {
file = fs.readFileSync(filePath,'utf-8')
res.write(file)
}
res.end();
});
server.listen(8000);