var http = require('http'); http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World" response.end('Hello World '); }).listen(8888); // 终端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');
运行:
node main.js
Server running at http://127.0.0.1:8888/
顺别提一下,使用supervisor自动监控文件变化,可以自动重启。
npm i -g supervisor
supervisor test.js
解决 supervisor : 无法加载文件 C:UserscharlesAppDataRoaming pmsupervisor.ps1 在使用vsCode中运行cnpm install时报错。 解决方法 1.在win10 系统中搜索框 输入 Windows PowerShell,选择 管理员身份运行 2、使用,win+R打开了powershell命令行之后,输入set-ExecutionPolicy RemoteSigned,然后更改权限为A,最后通过 get-ExecutionPolicy 查看当前的状态
可以读取本地文件,从httpserver返回的示例:
var http = require('http'); var fs = require('fs'); var server = http.createServer(function (req, res) { if (req.url === '/serverRedirect') { res.statusCode = 301; res.setHeader('Location', 'http://' + req.rawHeaders[1]); res.end(); } else if (req.url === '/downPdf') { res.writeHead(200, { 'Content-Type': 'text/plain', 'Content-Disposition': 'attachment;filename=test.pdf' }); res.end('Hello World '); } else if (req.url === '/viewPdf') { fs.readFile('d:/sample.pdf', (err, data) => { console.log("read success.") res.writeHead(200, { 'Content-Type': 'application/pdf; charset=utf-8', 'Content-Disposition': 'inline;filename=test.pdf', "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "X-Requested-With" }); if (err) { res.write('Server error:' + err); } else { console.log("read success.") res.write(data); } res.end(); }) } else { res.setHeader('Custom', ['Header']); // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain res.writeHead(200, { 'Content-Type': 'text/plain' }); let content = req.url; if (req.headers.accept === '*/*;test/header') { content += 'header/received'; } if (req.headers.origin === 'http://new-origin') { content += 'new/origin'; } res.end(content); } }).listen(8888); // 终端打印如下信息 console.log('Server running at http://127.0.0.1:8888/');
header上不能加入中文
let nonUtf8Str=Buffer.from([0xcc, 0xec]);
res.setHeader('Content-Disposition', [ Buffer.concat([ Buffer.from(' attachment; filename='),nonUtf8Str]).toString() ]);