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