node起服务

const http=require('http');         // 引入http模块

const hostname='127.0.0.1';         // 主机
const port=3000;                    // 端口

const server=http.createServer((req,res)=>{
    res.statusCode=200;     // 响应状态码
    res.setHeader('Content-Type','text/plain');     // 响应头:普通文本
    res.end('Hello World\n');
});

server.listen(port,hostname,()=>{       // 监听
    console.log(`Server running at http://${hostname}:${port}`);
});

 

supervisor:

// 全局安装supervisor,然后启动,就不用每次修改都要重启一下代码
npm install supervisor -g

supervisor app.js

 

获取路径:

// url为 127.0.0.1:9527/a/s/d/b.js 这里需要引入path模块
const server=http.createServer((req,res)=>{
    const filePath=path.join(conf.root,req.url);    // root为根路径,根据启动服务的位置变化

    res.statusCode=200;
    res.setHeader('Content-Type','text/html');
    res.end(filePath);
    //   /Users/apple/Documents/node/src/a/s/d/b.js
});

 

读文件或者文件夹:

fs.stat(filePath,(err,stats)=>{
        if(err){
            res.statusCode=404; // 文件没找到
            res.setHeader('Content-Type','text/plain');
            res.end(`${filePath} is not a directory or file`);
            return
        }
        if(stats.isFile()){
            res.statusCode=200;
            res.setHeader('Content-Type','text/plain');
            fs.createReadStream(filePath).pipe(res); // 流的形式
        }else if(stats.isDirectory()){
            fs.readdir(filePath,(err,files)=>{
                res.statusCode=200;
                res.setHeader('Content-Type','text/plain');
                res.end(files.join(','));
            })
        }
    });

 

上一篇:记录一个小问题,如果前端传递的参数是加密过的,需要在后台解密


下一篇:HTTP状态码(StatusCode)大全