zoukankan      html  css  js  c++  java
  • Nodejs搭建web服务器

    Node搭建本地服务
    根据demo文件夹位置,右键启动命令窗口(shift+右键---在此处打开命令窗口),需是server.js文件夹路径,在命令行node server启动服务

    检测node版本及npm版本
    命令行输入:node -v
    命令行输入:npm -v
    创建服务器,以及对应css和js文件的引入和判断(不加判断,会导致css/js不生效)
    对css和js文件进行过滤,否则会导致‘Resource interpreted as Stylesheet but transferred with MIME type text/html’
    文件夹新建server.js文件(启动服务用的,监听服务),代码如下:

    var http=require('http');
    var fs = require('fs');
    var url = require('url');
    //创建服务器
    http.createServer(function(request,response) {
      //解析请求,包括文件名
      var pathname= url.parse(request.url).pathname;
      //输出请求的文件名
      console.log("Request for "+ pathname + "  received.");
    //获取后缀,判断是js还是css文件,如果目录结构不同,此处需要修改
      var firstDir = pathname && pathname.split('/')[1];
      var ContentType = {'Content-Type': 'text/html'};
    
      // js - application/x-javascript
      if (firstDir && firstDir === 'css') {
        ContentType = {'Content-Type': 'text/css'};
      } 
      if (firstDir && firstDir === 'js') {
        ContentType = {'Content-Type': 'application/x-javascript'}
      }
    
      //从文件系统中去请求的文件内容
      fs.readFile(pathname.substr(1),function(err, data) {
        if(err) {
          console.log(err);
          //HTTP 状态码 404 : NOT FOUND
          //Content Type:text/plain
          response.writeHead(404, {'Content-Type': 'text/html'});
        }
        else {
          //HTTP 状态码 200 : OK
          //Content Type:text/plain
          response.writeHead(200, ContentType);
    
          //写会回相应内容
          response.write(data.toString());
        }
        //发送响应数据
        response.end();
      });
    }).listen(8080);
    
    console.log('Server running at http://127.0.0.1:8080/');    
    

    如此,OK

  • 相关阅读:
    实用Javascript调试技巧
    fetch的常见问题及其解决办法
    为什么重复的GET请求变慢了?
    JavaScript深入浅出第4课:V8引擎是如何工作的?
    一步一步搭建前端监控系统:如何定位前端线上问题?
    如何使用 Set 来提高JS代码的性能
    详解Vue的slot新用法
    详解Vue响应式原理
    BeautyWe.js 一套专注于微信小程序的开发范式
    await Task.Yield()和await Task.CompletedTask有什么不同
  • 原文地址:https://www.cnblogs.com/midnight-visitor/p/14063153.html
Copyright © 2011-2022 走看看