当前位置:首页 » 网页前端 » nodejs前端服务器
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

nodejs前端服务器

发布时间: 2022-04-01 15:10:00

1. 如何用nodejs做一个简单的前端Static Server

var http = require('http');
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
//开始你的mysql连接
connection.connect();

var server = http.createServer(function (req, res) {
//如果你发一个GET到的话
var url_info = require('url').parse(req.url, true);
//检查是不是给/test的request
if(url_info.pathname === '/test'){
//把query用url encode,这样可以用post发送
var post_data = require('querystring').stringify(url_info.query);
//post的option
var post_options = {
host: 'localhost',
port: 1337,
path: '/response_logic',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length
}
};
//发出post
var request_made = http.request(post_options, function(response_received){
var buf_list = new Array();
response_received.on('data',function(data){
buf_list.push(data);
});
response_received.on('end',function(){
var response_body = Buffer.concat(buf_list);
res.end(response_body);
connection.query('insert into .........',function(err,rows,fields){
//处理你的结果
});
});
});
//发出post的data
request_made.end(post_data);
}
//这个是用来回复上面那个post的,显示post的数据以表示成功了。你要是有别的目标,自然不需要这一段。
else{
req.pipe(res);
}
});
server.listen(1337, '127.0.0.1');
//在server关闭的时候也关闭mysql连接
server.on('close',function(){
connection.end();
});
console.log('listening on port 1337');

2. Node.js是属于前端还是后端的技术

首先你得了解什么nodejs,其次了解什么后端技术及作用
1.node.js组成:谷歌浏览器的V8引擎、C++语言编写的,本质上是一个JavaScript的运行环境。提到js,就能想到浏览器里面的各种交互组件,异步请求等等,它们依靠浏览器JavaScript 的引擎,来解析页面的js代码。
2.目前流行的后端语言就是PHP、Java、.Net,使用后端语言实现服务器上的开发叫做后端技术。
3.nodejs就是让JavaScript(js)可以实现服务器上的开发。
4.JavaScript(前端语言)+nodejs(JavaScript的运行环境)=实现服务器上的开发(后端技术),也就是说js+nodejs实现了后端开发的技术

3. 怎么连接nodejs服务器

前面已经学习了WebSocket API,包括事件、方法和属性。详情:WebSocket(二)--APIWebSocket是基于事件驱动,支持全双工通信。下面通过三个简单例子体验一下。

简单开始

1.安装node。/

2.安装ws模块

ws:是nodejs的一个WebSocket库,可以用来创建服务。

3.server.js

在项目里面新建一个server.js,创建服务,指定8181端口,将收到的消息log出来。

//建立连接
var ws = new WebSocket("ws://localhost:8181"); var nickname = "";
ws.onopen = function (e) {
console.log('Connection to server opened');
} //显示
function appendLog(type, nickname, message) { if (typeof message == "undefined") return; var messages = document.getElementById('messages'); var messageElem = document.createElement("li"); var preface_label; if (type === 'notification') {
preface_label = "<span class="label label-info">*</span>";
} else if (type == 'nick_update') {
preface_label = "<span class="label label-warning">*</span>";
} else {
preface_label = "<span class="label label-success">"
+ nickname + "</span>";
} var message_text = "<h2>" + preface_label + "&nbsp;&nbsp;"
+ message + "</h2>";
messageElem.innerHTML = message_text;
messages.appendChild(messageElem);
} //收到消息处理
ws.onmessage = function (e) { var data = JSON.parse(e.data);
nickname = data.nickname;
appendLog(data.type, data.nickname, data.message);
console.log("ID: [%s] = %s", data.id, data.message);
}
ws.onclose = function (e) {
appendLog("Connection closed");
console.log("Connection closed");
} //发送消息
function sendMessage() { var messageField = document.getElementById('message'); if (ws.readyState === WebSocket.OPEN) {
ws.send(messageField.value);
}
messageField.value = '';
messageField.focus();
} //修改名称
function changName() { var name = $("#name").val(); if (ws.readyState === WebSocket.OPEN) {
ws.send("/nick " + name);
}
}

运行结果:

页面关闭之后,连接马上断开。

这种实时响应的体验简直不能太爽,代码也清爽了,前端体验也更好,客户端不用一直发请求,服务端不用等着被轮询。

小结:上面例子的代码都很好理解,接下来学习WebSocket协议。

4. 如何用nodejs搭建web服务器

主要解决两个问题,1是静态资源的处理,2是动态资源的路由。

静态资源在node.js里的意思是不变的,如图片、前端js、css、html页面等。

动态资源我们一般指aspx页面,ashx页面,asp页面,jsp页面,php页面等,而node.js里其实没动态资源这一说,它对请求的处理都是由回调方法完成的,在我实现的httserver里,借鉴了ashx的写法,把处理请求的js文件看作动态资源。

首先实现一个处理静态资源的函数,其实就是对本地文件的读取操作,这个方法已满足了上面说的静态资源的处理。

5. nodejs整合了前端和后端么

后端上可以用nodejs做服务器
前端上配合electron可以做本地应用程序

6. nodejs写服务器怎么样

目前最主流的三个Web服务器是Apache、Nginx、IIS。

Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端,使用 HTTP 服务器或客户端功能必须调用 http 模块,代码如下:

[javascript]view plain

  • varhttp=require('http');

  • 在通常的服务器中,数据流通的方式是客户先通过浏览器进行发送请求,服务器在项目中进行查找,然后进客户所需要的页面进行返回,在查找的过程中可能存在两种情况,就是存在和不存在,当然,我们会做出判断,下面就是简单的服务器实现过程:

    1、编写服务器代码server.js

    [javascript]view plain

  • varhttp=require('http');

  • varfs=require('fs');

  • varurl=require('url');

  • //创建服务器

  • http.createServer(function(request,response){

  • //解析请求,包括文件名

  • varpathname=url.parse(request.url).pathname;

  • //输出请求的文件名

  • console.log("Requestfor"+pathname+"received.");

  • //从文件系统中都去请求的文件内容

  • fs.readFile(pathname.substr(1),function(err,data){

  • if(err){

  • console.log(err);

  • //HTTP状态码404:NOTFOUND

  • //ContentType:text/plain

  • response.writeHead(404,{'Content-Type':'text/html'});

  • }

  • else{

  • //HTTP状态码200:OK

  • //ContentType:text/plain

  • response.writeHead(200,{'Content-Type':'text/html'});

  • //写会相应内容

  • response.write(data.toString());

  • }

  • //发送响应数据

  • response.end();

  • });

  • }).listen(8081);

  • console.log('Serverrunningathttp://127.0.0.1:8081/');

  • 通过上面代码,我们就能够实现服务器对于文件的查找,下面,我们就进行创建一个html文件,然后通过浏览器进行访问

    2、编写html文件(index.html),用于浏览器进行请求

    [html]view plain

  • <!DOCTYPEhtml>

  • <htmllang="en">

  • <head>

  • <metacharset="UTF-8">

  • <title>index</title>

  • </head>

  • <body>

  • 这是一个用于进行nodejs服务器测试的html文件,我们能够通过在浏览器上面输入

  • http://127.0.0.1:8081/WebServer/index.html进行访问

  • </body>

  • </html>

  • 创建完之后,我们进行测试,现在我的目录结构是这样的:


7. node.js是前端还是后端

JavaScript(前端语言)+nodejs(JavaScript的运行环境)=实现服务器上的开发(后端技术),也就是说js+nodejs实现了后端开发的技术。

8. node.js主要应用是前端还是服务器端

nodejs是前端语言,但它能使Javascript运行于服务器端,主要应用还是服务器端

9. nodejs作为前端服务器 怎么解决跨域问题

如果需要复用的代码仅仅是个别文件、函数、片段等,可以手工修改代码以适配meteor程序。
需要注意到,node.js的每一个文件都是一个模块,通过mole.exports和require进行组织,但是在meteor中,每一个文件都是会被自动加载的(具体顺序参考meteor文档),通过全局变量进行跨文件调用;meteor中不能直接加载npm包;meteor框架是同步运行的(非异步)。