Maison > interface Web > js tutoriel > Comment créer un serveur simple en utilisant nodejs

Comment créer un serveur simple en utilisant nodejs

PHP中文网
Libérer: 2017-06-22 14:38:58
original
1812 Les gens l'ont consulté

Construisez un serveur simple en utilisant nodejs

Avantages de nodejs : hautes performances (lecture et écriture de fichiers) et fortes capacités de manipulation de données
Site officiel : www.nodejs.org
Vérifiez si l'installation est réussi : commande cmd Entrez node -v dans la ligne Si le numéro de version est affiché, l'installation est réussie

[Commandes communes]

Lettre de lecteur du commutateur d:
Entrez le dossier cd nodejs
Retour au répertoire précédent cd..
Effacer l'écran cls
Afficher le répertoire dir
Copier le nom du fichier, clic droit - copier
Historique des opérations flèche vers le haut
Exécuter le fichier nom du fichier du nœud (dans le répertoire du dossier de fichiers)
Arrêtez la ligne de commande ctrl+c

ECMAScript, lisez et écrivez des fichiers, des opérations de base de données et créez des serveurs que nodejs peut utiliser
Ce que nodejs ne peut pas faire est : DOM, BOM

Utiliser node Construire un serveur :

//1、引入模块  使用的http服务协议是RFC2616  nodejs的作者已经写好了,直接引入就行
var http = require('http');
//引入文件读写模块fs
var fs = require('fs');
//2、创建服务器    函数的参数req是发送给服务器的请求,res是服务器的相应
var httpObj = http.createServer(function(req,res){
    //编写url  其中index.html是要服务器读取的文件
    var url = req.url=='/'?'index.html':req.url;
    //开始文件读取,参数分别是完整的url 编码 和读取完毕执行的函数,注意前后台编码需要一致
    fs.readFile('www/'+url,'utf-8',function(err,data){
        //res.write服务器的相应,当成功的时候,服务器会传输一个data数据,相应结束需要end
        if(err){ 
            res.write('404,您访问的页面不存在');
            res.end();    
        }else{
            res.write(data);
            res.end();    
        }
    });
});
//监听端口
httpObj.listen(80);
Copier après la connexion

Utiliser nodejs pour écrire une instruction SQL

//和搭建服务器一样,需要先引入模块,mysqle是外生的模块(提前在node中下载),MySQL模块会告诉服务器我们需要add还是get
//1、引入模块,这里多引入了一个mysql模块
var http = require('http');
var fs = require('fs');
var mysql = require('mysql');
//2、连接服务器使用createServer,同样参数也是req和res
var httpObj = http.createServer(function(req,res){
    var url = req.url=='/'?'index.html':req.url;
    console.log(url);
    //给前端提供一个json 写前端接口
    //这里多了地址、用户名、密码和数据库
    if(url.split('?')[0]=='/article'){
        //console.log('我要给前端数据接口');
        //1.建立连接
        var db = mysql.createConnection({
            //地址
            host:'localhost',
            //用户名
            user:'root',
            //密码
            password:'',
            //数据库
            database:'study'
        });
        //3、编写sql语句,就是在想请求的时候告诉服务器我们需要add还是get
        var sql = 'SELECT * FROM user';
        //3.执行sql返回结果
        db.query(sql,function(err,data){
            if(err){
                console.log('失败');
            }else{
                //console.log(data[0].username);
                //console.log(JSON.stringify(data));
                res.write(JSON.stringify(data));
                res.end();
            }
        });
    }else{
        //读取页面
        fs.readFile('www/'+url,'utf-8',function(err,data){
            if(err){ 
                res.write('404,您访问的页面不存在');
                res.end();    
            }else{
                res.write(data);
                res.end();    
            }
        });
    }
});
//4、监听端口
httpObj.listen(3000);
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal