기본적인 nodejs 작업 방법에 대한 자세한 설명
이전 프로젝트에서는 고주파 수집 및 정산을 위해 PHP를 사용하여 PHP의 효율성이 크게 저하되었으며 PHP 차단으로 인해 웹 페이지가 정상적으로 실행되지 않았습니다. 따라서 데이터베이스 운영 및 수집을 위해 PHP를 대체하고 PHP와 완벽하게 통합할 수 있는 언어를 찾으십시오.
Node.js는 Chrome V8 엔진을 기반으로 하는 JavaScript 런타임 환경입니다. Node.js는 이벤트 중심의 비차단 I/O 모델을 사용하여 가볍고 효율적입니다. Node.js의 패키지 관리자 npm은 세계 최대의 오픈 소스 라이브러리 생태계입니다.
처음으로 nodejs를 알게 되었습니다
nodejs는 우리의 PHP 작곡가처럼 npm 명령을 사용하여 nodejs 관련 플러그인을 다운로드할 수 있습니다.
프론트엔드 자바스크립트를 이용해 기본적인 기능만 조작할 수 있어 학습 비용이 대폭 절감됩니다.
정상 작업
nodejs 링크 데이터베이스
이번에는 npm을 사용하여 mysql 모듈을 다운로드하겠습니다.
우리 프로젝트로 전환하고 npm install mysql -save
sql mysql.js를 실행하는 파일 만들기
//连接数据库var mysql = require('mysql');var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database:'carbird'}); connection.connect();//查询connection.query('select * from `think_order`', function(err, rows, fields) { if (err) throw err; console.log('查询结果为: ', rows); });//关闭连接connection.end();
실행 Node.js에서는 데이터 수집을 포함하여 PHP의 압력을 공유하는 정기 결제 기능을 포함하여 대부분의 기능을 구현할 수 있습니다
1680210개의 복권을 수집하여 데이터베이스에 저장하는 nodejs의 예를 만들어 보세요
pacong.js 만들기
var http = require("http");var iconv = require('iconv-lite');var option = { hostname: "api.api68.com", path: "/klsf/getLotteryInfo.do?issue=&lotCode=10005"}; var req = http.request(option, function(res) {res.on("data", function(chunk) {console.log(JSON.parse( iconv.decode(chunk, "utf-8") )); }); }).on("error", function(e) {console.log(e.message); }); req.end();
where var iconv = require('iconv-lite'); 중국어 왜곡 문제를 해결하려면 npm에서 이 모듈을 다운로드하여 도입해야 합니다.
결과는 다음과 같습니다.
{ errorCode: 0, message: '操作成功', result: { businessCode: 0, message: '操作成功', data: { preDrawIssue: 2018030717, preDrawCode: '03,13,10,11,01,18,07,12', drawIssue: 2018030718, drawTime: '2018-03-07 12:01:20', preDrawTime: '2018-03-07 11:51:20', drawCount: 17, firstDragonTiger: 1, lastBigSmall: 0, sumBigSmall: 1, sumNum: 75, sumSingleDouble: 0, fourthDragonTiger: 0, secondDragonTiger: 0, thirdDragonTiger: 1, frequency: '', lotCode: 10005, iconUrl: 'http://webapp.1680180.com/images/icon/3x/gdkl@3x.png', shelves: 0, groupCode: 3, lotName: '广东快乐十分', totalCount: 84, serverTime: '2018-03-07 11:53:50', index: 100 } } }
더 복잡한 데이터를 수집하고 처리하는 Cherio 모듈을 도입합니다. , 크롤러 웹사이트
var express = require('express');var app = express();var request = require('request');var cheerio = require('cheerio'); app.get('/', function(req, res) { request('http://www.zhongjiantang.com/index.php?c=detail&id=57', function(error, response, body) { if (!error && response.statusCode == 200) { $ = cheerio.load(body); res.json({ cat: $('h1').text() }); } }) });var server = app.listen(3000, function() { console.log('listening at 3000'); });
nodejs SQL 연산과 결합 데이터베이스에 데이터를 삽입하거나 기타 관련 연산을 할 수 있습니다
nodejs를 사용하여 웹 페이지를 만들어 라우팅 기능을 구현합니다
npm을 사용하여 express 도입
web.js 만들기
var express = require('express');var app = express();// 主页输出 "Hello World"app.get('/', function (req, res) { console.log("主页 GET 请求"); res.send('Hello GET'); })// POST 请求app.post('/', function (req, res) { console.log("主页 POST 请求"); res.send('Hello POST'); })// /del_user 页面响应app.get('/del_user', function (req, res) { console.log("/del_user 响应 DELETE 请求"); res.send('删除页面'); })// /list_user 页面 GET 请求app.get('/list_user', function (req, res) { console.log("/list_user GET 请求"); res.send('用户列表页面'); })// 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求app.get('/ab*cd', function(req, res) { console.log("/ab*cd GET 请求"); res.send('正则匹配'); })var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })
127.0.0.1:8081을 방문하여 응답 페이지에 접속하거나, 데이터베이스 관련 작업의
패키지를 운영할 수 있습니다
패키지 파일을 다운로드하려면 클릭하세요
사용 방법을 먼저 살펴보세요
db.select({ table: '数据表', where: '字段名称='查询条件', success: function (result) { //查询成功之后相关操作 } ,})
선택 선택 예를 들어
Create sql:
exports.select = function(obj){ if(!obj){ log('对象不存在'); return; } if(!obj.hasOwnProperty('field')){ obj.field ="*"; } var Sql = 'SELECT '+obj.field+' FROM '+obj.table ; if(obj.hasOwnProperty('where')){ Sql+=' WHERE '+obj.where; } if(obj.hasOwnProperty('limit')){ Sql+=' LIMIT '+obj.limit; } // console.log(Sql); db_query(Sql,obj); };
Execute sql:
function db_query(Sql,obj){ var db_client=mysql.createClient(config.dbinfo); db_client.query(Sql,function(err,data){ if(err){ if(obj.error){ if(obj.hasOwnProperty('error')){ obj.error(err); } }else{ log('数据库出错:' + err.message); } }else{ if(obj.hasOwnProperty('success')){ obj.success(data); } } if(obj.hasOwnProperty('callback')){ obj.callback(err,data); } }); db_client.end(); }
패키지 js 파일 인용 방법
var db = require('db'),
요약: 데이터베이스 작업은 비동기 프로세스입니다. nodejs의 작업 효율성을 크게 향상시키는 동시에 비동기 예제를 분석할 수 있습니다
//代码示例3//注意还是那个Add,精髓也在这里,随后说到function Add(a, b){ return a+b; }//LazyAdd改变了,多了一个参数cbfunction LazyAdd(a, cb){ return function(b){ cb(a, b); } }//将Add传给形参cbvar result = LazyAdd(1, Add)// 这个时候去做一些其他的程序,等条件成立之后再去执行result = result(2); // => 3
nodejs가 http
function requestKj(number) { var postData = JSON.stringify(number); var option = { host: 网址, path: 地址, method: 'POST', headers: { "Content-Type": 'application/json', "Content-Length": Buffer.byteLength(postData) } }; var req = http.request(option, function (res) { res.on('data', function () { }); res.on('end', function () { console.log('成功前端给php'); }); }); req.write(postData); req.end(); setTimeout(function () { yuegengxin(number); },1000) }
를 통해 PHP로 데이터를 보내는 방법 php 측에서는 nodejs가 전송한 정보를 수신합니다
public function nodejs_get_data(){ $data= json_decode(file_get_contents('php://input'),true); //对$data数据的相关操作 }
요약
nodejs가 여전히 노출되어 있습니다. 빙산에 한 구석에 배울 것이 많습니다.
nidejs 컬렉션 API 데모nodejs 마스터 블로그 튜토리얼
위 내용은 기본적인 nodejs 작업 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Node.js는 고성능, 확장성, 크로스 플랫폼 지원, 풍부한 생태계, 개발 용이성 등의 기능을 제공하므로 백엔드 프레임워크로 사용할 수 있습니다.

MySQL 데이터베이스에 연결하려면 다음 단계를 따라야 합니다. mysql2 드라이버를 설치합니다. mysql2.createConnection()을 사용하여 호스트 주소, 포트, 사용자 이름, 비밀번호 및 데이터베이스 이름이 포함된 연결 개체를 만듭니다. 쿼리를 수행하려면 Connection.query()를 사용하세요. 마지막으로 Connection.end()를 사용하여 연결을 종료합니다.

Node.js에는 다음과 같은 전역 변수가 존재합니다. 전역 개체: 전역 핵심 모듈: 프로세스, 콘솔, 필수 런타임 환경 변수: __dirname, __filename, __line, __column 상수: undefine, null, NaN, Infinity, -Infinity

Node.js 설치 디렉터리에는 npm과 npm.cmd라는 두 가지 npm 관련 파일이 있습니다. 차이점은 다음과 같습니다. 확장자가 다릅니다. npm은 실행 파일이고 npm.cmd는 명령 창 바로 가기입니다. Windows 사용자: npm.cmd는 명령 프롬프트에서 사용할 수 있으며, npm은 명령줄에서만 실행할 수 있습니다. 호환성: npm.cmd는 Windows 시스템에만 해당되며 npm은 크로스 플랫폼에서 사용할 수 있습니다. 사용 권장사항: Windows 사용자는 npm.cmd를 사용하고, 기타 운영 체제는 npm을 사용합니다.

Node.js와 Java의 주요 차이점은 디자인과 기능입니다. 이벤트 중심 대 스레드 중심: Node.js는 이벤트 중심이고 Java는 스레드 중심입니다. 단일 스레드 대 다중 스레드: Node.js는 단일 스레드 이벤트 루프를 사용하고 Java는 다중 스레드 아키텍처를 사용합니다. 런타임 환경: Node.js는 V8 JavaScript 엔진에서 실행되는 반면 Java는 JVM에서 실행됩니다. 구문: Node.js는 JavaScript 구문을 사용하고 Java는 Java 구문을 사용합니다. 목적: Node.js는 I/O 집약적인 작업에 적합한 반면, Java는 대규모 엔터프라이즈 애플리케이션에 적합합니다.

예, Node.js는 백엔드 개발 언어입니다. 서버 측 비즈니스 로직 처리, 데이터베이스 연결 관리, API 제공 등 백엔드 개발에 사용됩니다.

Node.js 프로젝트의 서버 배포 단계: 배포 환경 준비: 서버 액세스 권한 획득, Node.js 설치, Git 저장소 설정. 애플리케이션 빌드: npm run build를 사용하여 배포 가능한 코드와 종속성을 생성합니다. Git 또는 파일 전송 프로토콜을 통해 서버에 코드를 업로드합니다. 종속성 설치: SSH를 서버에 연결하고 npm install을 사용하여 애플리케이션 종속성을 설치합니다. 애플리케이션 시작: node index.js와 같은 명령을 사용하여 애플리케이션을 시작하거나 pm2와 같은 프로세스 관리자를 사용합니다. 역방향 프록시 구성(선택 사항): Nginx 또는 Apache와 같은 역방향 프록시를 사용하여 트래픽을 애플리케이션으로 라우팅합니다.

Node.js와 Java는 각각 웹 개발에 장단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. Node.js는 실시간 애플리케이션, 신속한 개발 및 마이크로서비스 아키텍처에 탁월한 반면, Java는 엔터프라이즈급 지원, 성능 및 보안에 탁월합니다.
