NODEJS - 技术教程文章

nodejs 使用mysql 进行查询的问题

因为返回的是个对象var selectSql1="select * from spc_word_mst where WORD_ID=? limit 0,1 "var selectSql2="select * from spc_baitai_mst where BAITAI_ID=? limit 0,1"//SPC_Result_JHvar insertsql="insert into";var key1=‘001‘;var key2=‘001‘;conn.query(selectSql1,[key1],function(error,rows){if(error) console.log(error)console.log("select==>");var wordname=new String(rows[0].WORD_NAME);//取得字段值cons...

nodejs开发游戏服务器遇到的性能问题

问题描述: 使用nodejs开发了一个游戏服务器,为了尽可能提高服务器的性能,服务器采用多进程的架构,前面处理玩家socket连接的是多个nodejs进程,使用 child_process 模块,服务器启动时fork出来,而处理玩家游戏逻辑的是单独一个nodejs进程(因为玩家之间需要交互,而且玩家都是有状态的,所以无法分成多个进程)这个作为主进程;主进程与子进程之间使用使用child_process模块内建的通讯方式进行通讯;现在服务器性能出现瓶颈,服...

Nodejs 入门秘籍,搭一个最简单的web服务器。(菜鸟的你也能秒懂)

心血来潮,总结了一个Nodejs入门秘籍。看了你就想学NodeJs了。一、简单介绍nodejs初学nodejs ,直接上简单实例。先简单说明一下:nodejs ,nodejs相当于服务器端的 可以轻易搭建一个服务器端。 nodejs是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,语法和JAVASCRIPT一样,会JS,就是会NodeJS,区别于,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,NODEJS的作用相当PHP,ASP等语...

Node.js学习笔记【图】

1.Node.js本质上是一个JavaScript执行环境,跟Chrome的console命令行一样,可以直接在里面编写JS代码并执行两个的区别在于,都有一些自己独特的全局变量,譬如chrome中可以有window和document等,Node.js有process等全局变量 2.exports与module.exports的区别http://www.cnblogs.com/pigtail/archive/2013/01/14/2859555.html原文:http://www.cnblogs.com/yz1311/p/6523588.html

初识nodeJS

前面的话  几年前,对于学习NodeJS可能还有所迟疑,怕分散了前端学习的精力。但到了现在,如果不学习nodeJS,前端的学习却可能无法再有所进展。技术的进步就是这么残酷。对新技术观望的时候,该技术已经大行其道了。本文将介绍nodeJS的基础知识 语言选择  Ryan Dahl是一名资深的C/C++程序员,在创造出Node之前,他的主要工作都是围绕高性能 Web服务器进行的。经历过一些尝试和失败之后,他找到了设计高性能,Web服务器的几个要...

Node.js中的不安全跳转如何防御详解【代码】

Node.js中的不安全跳转如何防御详解导语:早年在浏览器大战期间,有远见的Chrome认为要运行现代Web应用,浏览器必须有一个性能非常强劲的Java引擎,于是Google自己开发了一个高性能的开源的Java引擎,名字叫V8。在2009年,Ryan正式推出了基于Java语言和V8引擎的开源Web服务器项目,命名为Node.js。对于任何web开发人员来说,不安全或未经验证的重定向都是重要的安全考虑因素。Express为重定向提供了本地支持,使它们易于实现和使用...

Visual Studio Code 断点调试Nodejs程序跳过node内部模块(internal modules)

Built-in core modules of Node.js can be referred to by the ‘magic name’ <node_internals> in a glob pattern. The following example skips all internal modules: "skipFiles": [ "<node_internals>/**/*.js", "${workspaceRoot}/node_modules/**/*.js"] The exact ‘skipping’ rules are as follows:If you step into a skipped file, you won’t stop there - you will stop on the next executed line that is not...

简单做了一个代办事项列表系统 ,增删改查。 前台页面用 jquery 后台用nodejs ,数据库用的是mongdoDB 。【代码】

引入npm 第三方mongoose包连接mongoDb本地数据库todolist const mongoose = require(‘mongoose‘); mongoose.connect(‘mongodb://localhost:27017/todolist‘,{useNewUrlParser: true ,useUnifiedTopology: true }); //导出数据库连接文件 module.exports=mongoose;//导入连接数据库文件 const mongoose=require(‘./connect‘) const Schema = mongoose.Schema; 这里直接用mongoose schema 建模 const userSchema=new Schema...

Nodejs express中创建ejs项目 error install Couldn't read dependencies【图】

最近在看《Node.js开发指南》,看到使用nodejs进行web开发的时候,准备创建ejs项目遇到问题了 书上命令为: express -t ejs microblog可是执行后,仍旧创建的是jade项目。 原来,express3.x,express4.x中创建ejs命令更新为: express -e microblog //即ejs,-j(即jade) 当然,最直接的,你也可以修改package.json里的定义来实现安装ejs。 PS:建立工程过程 1.必须得安装express框架把:express的安装命令也更新了,需要安装e...

nodejs / python 日志【代码】

一、Node.js 日志1、原生Node.js 原生方法其实很简单,就四个:// 输出到 stdout console.log() console.info() = console.log()// 输出到 stderr console.warn() console.error() = console.warn()配合 pm2 的 log 功能(参见我之前的 blog:pm2 官方文档学习笔记- 小蒋不素小蒋- 博客园),可以对项目实现基础的日志功能。(目前我采用的也是这种)2、第三方库debug:比较简单,express 有用到log4js:比debug复杂,比肩winstonw...

MFC+mongodb+nodejs 数据库的读取与写入操作【代码】【图】

首先通过nodejs和mongodb建立后端服务器一、在windows平台下启动mongodb服务器1、进入mongodb的安装目录,并进去bin目录启动mongod2、在d盘建立mongodb\data文件夹作为数据存储目录mongod.exe --dbpath d:\mongodb\data 二、建立js文件,并通过nodejs启动1、当向服务器发送01指令时,服务器将从mongodb 读取数据,并返回var HOST = "localhost"; var PORT = 6969; var dgram = require(‘dgram‘); var server_udp = dgram.createS...

关于node.js

JS是一种脚本语言,它的本身并不能进行编译和执行,在最早的时期只是作为浏览器的脚本,只能够在浏览器中执行操作,也就是说JS必须依赖一个运行环境作为载体才能够执行。而nodejs是基于chromeV8引擎的JS运行环境,不同的是它是独立于浏览器的,所以能够实现让JS脱离浏览器单独的执行代码,也就从技术上实现了用JS开发桌面软件,因此它可以用来开发服务器。npm,nodejs package manager,nodejs包管理器。nodejs是一种能够使js直接运...

Nodejs的HTTP服务器【图】

效果图650) this.width=650;" src="/upload/getfiles/default/2022/11/8/20221108035837912.jpg" title="QQ截图20170124135811.png" />js代码(server.js)var http = require("http");http.createServer(function(request,response){response.writeHead(200,{"Content-Type":"text/plain"});response.write("Hello World");response.end();}).listen(8888);console.log("server running 127.0.0.1:8888");执行js代码cmd进入命令行程...

nodejs之glob与globby【代码】

globglob允许使用规则,从而获取对应规则匹配的文件。这个glob工具基于javascript.它使用了 minimatch 库来进行匹配安装npm install glob引入const glob = require(‘glob‘)使用glob方法可以传入三个参数:1、需要进行匹配的文件的路径(有点类似于正则表达式)。 2、option可选项,也可以不填写。 3、回调函数,回调函数内部可以返回两个参数,一个是匹配成功后的结果会返回一个数组,如果没有匹配上不会报错会返回一个空数组,一...

Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql)【代码】【图】

目录简介和安装测试MySQL认识一下Connection OptionsMYSQL CURD插入更新查询删除Nodejs 调用带out参数的存储过程,并得到out参数返回值结束数据库连接两种方法和区别连接池Pooling connections创建其它连接池配置选项释放使用示例断线重连其它...简介和安装  Node.js与MySQL交互操作有很多库,具体可以在 https://www.npmjs.org/search?q=mysql 查看。  我选择了felixge/node-mysql,用的人比较多,先随大溜看看它的使用,暂...

nodejs 搭建简易服务器【代码】【图】

www文件夹下template文件夹下server.js代码:const express=require(‘express‘); const static=require(‘express-static‘); //托管静态文件 const cookieParser=require(‘cookie-parser‘);  //解析cookie const cookieSession=require(‘cookie-session‘);  //解析session const bodyParser=require(‘body-parser‘);    //解析post数据 const multer=require(‘multer‘); const consolidate=require(‘consolida...

nodejs学习笔记【代码】

Hello Fuck如下:console.log(‘Hello, Fuck you, NodeJs‘);# node Helloworld.js Hello, Fuck you, NodeJs 事件:Node.js所有的异步i/o操作在完成时都会发送一个事件到事件队列,事件由EventEmitter对象来提供,前面提到的fs.readFile和http.createServer的回调函数都是通过EventEmitter来实现的。//event.js var EventEmitter = require(‘events‘).EventEmitter; var event = new EventEmitter();event.on(‘some_event‘, fu...

【Nodejs项目手记】Nodejs中使用图片验证码,captchapng模块可以解决Nodejs图片验证码【代码】

Nodejs项目,在做图片验证码的时候遇到了难题。Nodejs没有图片库,以后会有,但是现在没有。网络上搜索一圈,有几个解决方案:1、采用第三方验证码程序,有的时候,项目可能不允许;2、使用Java或者PHP生成图片,Nodejs调用,中间采用Redies共享;这两种方式都不太理想,好在终于找到了可以支持Nodejs图片验证码的一个库,虽然只支持数字,但是也还不错。原理是使用Base64的图片编码方式。这个库的Gighub地址是:https://github.co...

NodeJS中模块导出两种方式【exports和module.exports】的联系与区别【代码】【图】

NodeJS中模块导出两种方式的联系与区别exports是module.exports的别名(地址引用关系)【也就是说 他们两个都指向同一个地址!】,导出对象最终以module.exports为准【如果都指向同一个属性,那么导出的结果将以module.exports为准!】栗子:将上面的栗子稍作修改!module.exports.jsconst greeting = name => {return `hello ${name}!` }const x = 100000; const y = ‘dapeng‘;exports.y = y; exports.x = x; module.exports.x =...

nodejs之2【代码】

实现定时器setTimeout(callback,delayMilliSeconds,[args]);取消超时时间函数:clearTimeout(timeoutId);mytimeout=setTimeout(myfunc,1000);clearTimeout(mytimeout);setInterval(callback,delayMilliSeconds,[args]);取消间隔函数:clearInterval(timeoutId);myInterval=setTimeout(myfunc,1000);clearInterval(myInterval);setImmediate(callback,[args]);取消即时函数clearImmediate(immediateId);myImmediate=setTimeout(m...

nodejs+nginx配置gzip压缩【代码】

在个人网站部署到服务器的过程中,为了提高网站的性能,我使用了nginx反向代理Nodejs服务,其中需要去配置gzip来优化网站的加载。为了减少网络传输数据量,http传输过程中会采用通用的压缩算法来压缩数据,gzip属于最常用的压缩算法。  使用node的http模块发送请求时并没有帮我们进行解压,因此我们需要手动去判断gzip。其实只需要在Nodejs中引用一个compress中间件来对gzip进行处理就可以了,代码如下:var compress = require(...

debian9 下载解压安装nodejs10.15.3

1. nodejs官网,找linux64版本,#wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz2.解压下载后的压缩文件并拷贝到opt#tar xvf node-v10.15.3-linux-x64.tar.xz#mv xvf node-v10.15.3-linux-x64/ /opt/3.吧完整的/opt/node-v10.15.3-linux-x64.tar.xz/bin添加到全局path里面在/etc/profile中添加环境变量(在export PATH的上一行添加就可以)#vi /etc/profilePATH=$PATH:/opt/node-v10.4.0-linux-x64/bin使pro...

nodejs nodemailer中间件【代码】

var stransporter = nodemailer.createTransport({host:smtp-163.com‘, //适合163 secureConnection: true, // use SSLport: 465, // port auth: {user: ‘bsspirit@gmail.com‘,pass: ‘xxxxxxxxx‘} });function ssl(){var mailOptions = {from: ‘bsspirit ‘,to: ‘xxxx@163.com‘,subject: ‘SSL Email‘,html: ‘Hello world‘}return mailOptions; }stransporter.sendMail(ssl(), function(error, info){if(...

基于NodeJS的秘室聊天室【图】

借着放假期间将NodeJS重新回顾了一下并玩了一下sketch来进行设计界面,很不错。(注:代码整理后会放到github上,请关注。)本次聊天室我给它定义了一个名称叫“秘密聊天室”。需求:技术选型:后端:NodeJs,Socket.io,中间件(express,body-parser,multer,ejs),mongoose express:是NodeJs Web应用框架,主要是要理解它的router body-parser:用于获取req中的参数值 multer:用于上传文件 ejs:用于模...

nodejs获取当前url和url参数值

//需要使用的模块 http url 当前url http://localhost:8888/select?aa=001&bb=002 var http = require(‘http‘); var URL = require(‘url‘); http.createServer(function(req, res){ var arg = url.parse(req.url).query; //方法一arg => aa=001&bb=002 var arg = url.parse(req.url, true).query; //方法二arg => { aa: ‘001‘, bb: ‘002‘ } console.log(arg.aa);//返回001 console.log(arg.bb);//返回00...

NodeJS开发博客(三) 数据的保存

什么是cookie存储在浏览器的一段字符串(最大5k)跨域不共享格式如 k1=v1 k2=v2 因此可以存储结构化数据每次发送http请求,会将请求域的cookie一起发送给serverserver 可以修改 cookie 并返回给浏览器浏览器也可以通过 JS 修改 cookie (有限制)原文:https://www.cnblogs.com/xiaozhumaopao/p/11105621.html

NodeJS CSV导出文件名和内容乱码解决【代码】

// 解决不同浏览器下载文件名称乱码 var userAgent = (req.headers[‘user-agent‘]||‘‘).toLowerCase(); res.set(‘Content-Type‘, ‘application/octet-stream;charset=utf-8‘);if(userAgent.indexOf(‘msie‘) >= 0 || userAgent.indexOf(‘chrome‘) >= 0) {res.setHeader(‘Content-Disposition‘, ‘attachment; filename=‘ + encodeURIComponent(filename)); } else if(userAgent.indexOf(‘firefox‘) >= 0) {res.set...

NodeJS + express 添加HTTPS支持【代码】

1. 生成自签名证书文件:openssl req -nodes -new -x509 -keyout server.key -out server.cert2. 在Express开启HTTPS支持, 添加一下类似代码:var express = require(‘express‘) var fs = require(‘fs‘) var https = require(‘https‘) var app = express()app.get(‘/‘, function (req, res) {res.send(‘hello world‘) })https.createServer({key: fs.readFileSync(‘server.key‘),cert: fs.readFileSync(‘server.cert...

NodeJs端口被占用的情况

在NodeJs运行的时候,我们往往会遇到一个问题:“端口被占用”,这个问题,我们的处理办法有哪些呢?这里我只介绍一下linux下的方法:1、使用nodeme(忘记是不是这个啦,回去查下,这个要安装)运行js,例如nodeme index.js;3、当然还有一种方法是使用ctrl+c杀死进程的监听端口;4、如果在3不小心使用ctrl+z退出运行的话,可以通过使用netstat查看监听的端口的进程id,然后使用kill -9 进程id 来手动杀死进程;原文:http://www.c...

MAC环境下 nodejs 4.5.0 卸载

MAC 环境下,我之前的删除 node 环境如果是用brew 安装的 node.js 4.4 之前的版本。可以网上参考其他方法,我之前的帖子也有之前的删除方法。参考帖子:http://www.cnblogs.com/wjw-blog/p/4840727.html另外,只要是在 node 官网上下载的安装包,用安装包安装的node.应该可以用一下命令行卸载:在终端输入以下命令:sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}原文:http://www.cnb...