Heim > Web-Frontend > js-Tutorial > So erstellen Sie einen einfachen Server mit NodeJS

So erstellen Sie einen einfachen Server mit NodeJS

PHP中文网
Freigeben: 2017-06-22 14:38:58
Original
1804 Leute haben es durchsucht

Erstellen Sie einen einfachen Server mit NodeJS

Vorteile von NodeJS: hohe Leistung (Dateien lesen und schreiben) und starke Datenbearbeitungsfunktionen
Offizielle Website: www.nodejs.org
Überprüfen Sie, ob die Installation ist erfolgreich: cmd-Befehl Geben Sie node -v in die Zeile ein. Wenn die Versionsnummer angezeigt wird, ist die Installation erfolgreich

[Allgemeine Befehle]

Laufwerksbuchstabe wechseln d:
Geben Sie die ein Ordner cd nodejs
Zurück zum vorherigen Verzeichnis cd..
Bildschirm cls löschen
Verzeichnisverzeichnis anzeigen
Dateinamen kopieren, Rechtsklick - Kopieren
Verlaufsvorgang mit Aufwärtspfeil
Datei ausführen Name der Knotendatei (im Dateiordnerverzeichnis)
Stoppen Sie die Befehlszeile Strg+C

ECMAScript, lesen und schreiben Sie Dateien, Datenbankoperationen und erstellen Sie Server, die NodeJS verwenden kann
Was NodeJS nicht kann ist: DOM, BOM

Verwenden Sie node. Erstellen Sie einen Server:

//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);
Nach dem Login kopieren

Verwenden Sie nodejs, um eine SQL-Anweisung zu schreiben

//和搭建服务器一样,需要先引入模块,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);
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen einfachen Server mit NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage