NODEJS - 技术教程文章

centos8安装nodejs

1、通过官方查询需要安装的版本https://github.com/nodesource/distributions 2、在CentOS下获取相应版本的nodejs资源(以NodeJS 14.x为例) 粘贴 curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - 3、运行 sudo yum install -y nodejs 进行nodejs安装 You may also need development tools to build native addons: sudo yum install gcc-c++ make## To install the Yarn package manager, run: curl -sL ...

NodeJS 爬虫爬取LOL英雄联盟的英雄信息,superagent+cheerio+async【代码】

1.模块使用(1)superagent:Nodejs中的http请求库(每个语言都有无数个,java的okhttp,ios的afnetworking)(2)cheerio:Nodejs中的html解析库(每个语言基本都有。。)(3)async:Nodejs中的同/异步并发函数执行库(这个非常牛,其他语言同类型的不多) 2.爬取内容多玩的英雄联盟英雄页面,通过解析页面内每个英雄的URL,然后并发请求英雄的详细数据,提取需要的数据得到结果http://lol.duowan.com/hero/这次主要是为了熟悉Nod...

NodeJS服务端重构计划【代码】【图】

不知不觉做node开发已经半年时间了,这期间写尝试着去解决了一些问题,实现了一下想法,也遇到过一些坑。是时候来梳理一下代码,规划一下接下来的工作。现阶段我们的node服务器端代码结构是这样的: 乍一看好像没有什么问题,其实这其中充斥着一些重复代码,以及一些没有测试的模块,代码组织也不够合理。这些问题都是需要处理的。先来说说几个常用的术语router 路由模块负责请求的分发,把请求转给具体的controller。control...

玩转树莓派-Raspberry,在2代B版上装nodejs和phonegap【代码】

下载Nodejs 创建一个新的目录去存放下载的Nodejs文件,在这里我们创建了一个‘nodes_download‘目录。注* 通过 http://nodejs.org/dist 查看最新版。并不是所有最新版的NodeJS都能在树莓派上使用,因为有些没有正确地指定ARM的指令集。树莓派二代已经可以完全正常使用了,本人亲测,把过程分享如下。注意:树莓派一代使用0.12版本的nodejs,因为是ARM v6指令集的CPU,但Chriumun V8最版JavaScript引擎,可能使用了一些ARM v7的功能...

Nodejs操作MongoDB数据库【代码】【图】

数据库连接要在node.js中使用MongoDb,首先需要执行命令 npm install mongodb --save 进行安装,然后在页面中进行引入:const MongoClient = require(‘mongodb‘).MongoClient; const url = ‘mongodb://127.0.0.1:27017‘; const dbName = ‘mongo‘; const client = new MongoClient(url,{useUnifiedTopology:true}); client.connect(function(error){if(error){console.log(error);return;}else{console.log(‘连接成功‘);} }...

nodejs 写bash【代码】

nodejs也可以用来写bash。一、写bash --> hello.js#! /usr/local/bin/node console.log(‘Hello‘);注意:这里hashbang是我在mac命令行下写的,要写node所在的位置。兔哥的那个行不通,兔哥是这样写的#! /usr/bin/env node二、给权限$ sudochmod +x hello.js$ ./hello.jsHello这样就能执行了。三、链接,因为这样还不能在任意目录调用,所以要链接一下$ chmodln -s /sourcePath/hello.js /target/hello # 这里都要写绝对路径,不然...

C++编写nodejs扩展实战【代码】【图】

C++编写nodejs扩展实战 之前有用PHP写过根据IP地址查询IP归属地,后来改用C语言编写,效率果然大幅度提高,然后转化为PHP的扩展. 想起之前有过使用手机号码查询号码归属地,最近又有在研究nodejs,于是就使用C++编写了nodejs的扩展. 遇到的问题确实不少,记录下来,供大家参考: 1.字符编码的问题:nodejs对于gbk编码支持不够好,为了提高程序效率,先把IP归属地的资源转化为utf-8的编码,具体使用PHP脚本foreach使用iconv转换 2.参数传递的问题...

nodejs文本文件的读写【代码】

文本文件的换行符方法一: var EOL = fileContents.indexOf("\r\n") >= 0 ? "\r\n" : "\n";方法二: var EOL = (process.platform === ‘win32‘ ? ‘\r\n‘ : ‘\n‘)删除文件var fs = require("fs");console.log("Going to delete an existing file"); fs.unlink(‘input.txt‘, function(err) {if (err) {return console.error(err);}console.log("File deleted successfully!"); }); 小文件的异步与同步读写var fs = require("...

Nodejs报错集

1.ReferenceError: userModule is not defined A:1》检查app.js文件中是否调用userModule所在的文件(const userModule=require("./routes/useModule2.js"); 2》检查userModule所在的模块文件是否将模块公开出来(module.exports=userModule)。原文:http://www.cnblogs.com/potato-lee/p/6259536.html

用 NodeJS 实现 BigPipe【代码】【图】

BigPipe 是 Facebook 开发的优化网页加载速度的技术。网上几乎没有用 node.js 实现的文章,实际上,不止于 node.js,BigPipe 用其他语言的实现在网上都很少见。以至于这技术出现很久以后,我还以为就是整个网页的框架先发送完毕后,用另一个或几个 ajax 请求再请求页面内的模块。直到不久前,我才了解到原来 BigPipe 的核心概念就是只用一个 HTTP 请求,只是页面元素不按顺序发送而已。了解了这个核心概念就好办了,得益于 node.js...

nodejs笔记之流(stream)【代码】

nodejs的stream有四种流类型:可读:Readable可写:Writable可读可写:Duplex操作被写入数据,然后读出结果:Transform常用事件:data:有数据可读时触发end:没有数据可读触发error:读写过程出错触发;finish:所有数据被写入到底层系统时触发;创建可读流:// 注: utf8中,中文占三个字符 // var data = ‘‘;// 创建可读流二var fs = require("fs"); var readerStream = fs.createReadStream(‘./file/333.txt‘,{flags:‘r‘...

node js学习(一)【代码】【图】

1、简介  JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了。  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集...

nodeJS实现简易爬虫【代码】

nodeJS实现简易爬虫需求:使用nodeJS爬取昵图网某个分类下的图片并存入本地运用nodeJS自带系统模块http、fs示例代码:var http =require('http'); var fs =require('fs');var curentPage=1; //当前图片页数 var maxcurentPage=5;//最大页数 //获取图片地址 function getData(){let url = 'http://www.nipic.com/photo/xiandai/jiaotong/index.html?page='+curentPagehttp.get(url,(res)=>{var data = '';res.on('data',(a)=>{data+=...

nodejs 中Express 的 send方法【代码】

如果send()发送的是一个json,比如 {name:‘David‘,age:18,gender:undefined}那么客户端只能接收到{name:‘Daivd‘,age:18}这样的数据。send方法直接把undefined数据过滤掉了!具体原因等有空再去查。原文:http://www.cnblogs.com/tomotose/p/5109987.html

js:nodejs中的session(登陆验证)【代码】

一,下载模块npm install cookie-session本例通过在用户登陆成功后创建session控制部分页面的访问权限app.js/*** Created by dyb on 2018/1/4.*/var express = require(‘express‘); var db=require(‘./db/db.js‘); var Db=new db(); var app = express(); var url= require("url"); var cookieSession=require(‘cookie-session‘);//加载cookie-session模块var router = express.Router();var checkuser=require(‘./action/c...

Nodejs【代码】【图】

开发辅助工具:$ supervisor app.js supervisor 会监视你对代码的改动,并自动重启 Node.js如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚...

NodeJs基础【代码】

一、什么是NodeJs?  NodeJs是一个基于Chrome的v8引擎的JAVAScript运行环境;  使用了事件驱动以及非阻塞的I/O式模型;  NodeJs中的npm是全球最大的包管理网站。二、引擎:  脚本引擎(v8引擎)  渲染引擎三、I/O模型:  I:input  输入  O:output  输出四、npm:是一个命令,也是一个网站,也是一个包  npm一些常用指令:  npm install:安装package.json中的依赖  npm install 包名 --save:生产环境的依...

nodejs字符与字节之间的转换【代码】

new Buffer("Hello World").toString("base64"); /* yields SGVsbG8gV29ybGQNCg== */new Buffer("SGVsbG8gV29ybGQNCg==").toString("ascii"); /* yields Hello World */ 原文:http://www.cnblogs.com/vipstone/p/4899239.html

linux安装nodejs【代码】【图】

下载安装包地址http://nodejs.cn/download/使用wget下载wget https://npm.taobao.org/mirrors/node/v14.15.4/node-v14.15.4-linux-x64.tar.xz解压xz -d node-v14.15.4-linux-x64.tar.xz tar -xvf node-v14.15.4-linux-x64.tar配置环境变量打开配置文件vim /etc/profile编辑如下内容export NODE_HOME=/usr/local/src/node-v14.15.4-linux-x64 export PATH=$NODE_HOME/bin:$PATH退出,编译/etc/profile使配置生效source /etc/profile...

安装使用Mongoose配合Node.js操作MongoDB的基础教程【转载】【代码】

这篇文章主要介绍了安装使用Mongoose来让Node.js操作MongoDB的基础教程,前端js+后端node+js操作MongoDB正是所谓最流行的一种JavaScript全栈开发方案,需要的朋友可以参考下安装mongoose使用express准备一个TestMongoDB项目,命令序列如下:express TestMongoDB cd TestMongoDB npm install执行完上面的命令后,使用下面的命令安装mongoose:npm installmongoose --save这个命令会安装mongoose并将其作为项目的依赖,而mongoose依赖的...

Nodejs初阶之express【代码】【图】

Nodejs初阶之express2014-02-28 23:00 by 聂微东, 85627 阅读, 26 评论, 收藏, 编辑  PS: 2014/09/24 更新《Express 4.X 启航指南》,欢迎阅读和评论:)   老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪...  到今天俺已经在俺厂工作俩年零几天了,工作以来头一回在一家企业工作超俩年,对于这俩年确实只有满满的成就感,不管是工作还是生活...写到这句突然又想写篇这俩年的总结,等这篇文章发了之后就着手整理吧,吼吼...

Nodejs学习笔记(四)——Nodejs黄金搭档Mongodb【代码】【图】

前言:回顾前面零零碎碎写的三篇挂着Nodejs学习笔记的文章,着实有点名不副实,当然,这篇可能还是要继续走着离主线越走越远的路子,从简短的介绍什么是Nodejs,到如何寻找一个可以调试的Nodejs IDE再到未爬先走的搭建一个小小的nodejs application,一直都是贯彻“学习笔记”的精神,想到哪写到哪,遇到什么问题就去解决并记录。如果你不幸读到本笔记,还请记住这是一系列形散神不散的学习笔记!!!   好了,每次不扯几句感觉没...

web前端效率提升-nginx+nodejs搭建本地生态

1.起因  编写的项目是一个偏向于后台管理的web系统,使用了angular框架,在绑定数据的时候就依赖于后台的接口格式。  以前是后台写好接口后,我在绑定,在这之前一些逻辑是没法做的,有时候后台接口给的慢,就要绑定假数据写死在js里面,感觉非常被动,后台接口、服务器出个错什么的,我的进度就要被拖延,返回的格式不友好,或者返回的格式和传递的格式不一样的时候,我还要转格式。人家拍拍屁股说接口写好了,回家休息,我就...

使用 nodejs 和 axios 以及 cherrio 爬取天气预报【代码】

安装依赖引入依赖发送请求解析请求的返回值const axios = require(‘axios‘) const cheerio = require(‘cheerio‘)axios.get(‘http://www.weather.com.cn/weather/101280601.shtml‘).then(function (response) {const $ = cheerio.load(response.data)var data = [];$(‘#7d li‘).each(function(){var $this = $(this);// 使用trim去掉数据两端的空格data.push({title : trim($this.find(‘.sky h1‘).text()),wea: trim($thi...

centos7系统下安装nodejs开发环境【图】

1)安装基础工具(if not exists)yum install -y net telnet tools vim wget ntp2)同步系统时间(if necessary)ntpdate time-a.nist.gov3)安装nodejs编译及依赖相关软件(if not exists)yum install -y gcc gcc-c++ g++ openssl-devel python4)获取nodejs源码包(v5.6.0版本,其他版本可从 https://nodejs.org/en/download/ 获取)wget https://nodejs.org/dist/v5.6.0/node-v5.6.0.tar.gz5)解压tar zxvf node-v5.6.0.tar.gz6)配...

原生nodejs编写在线聊天系统【代码】【图】

前端自动化由来已久,最近为了编写自己的自动化工具,本人开始详细学习node,为了检验学习成果,决定编写一个类似于webqq的聊天系统。以下是该系统具有的模块。登录模块(自动登录)聊天模块(私聊,群聊)统计模块(一段时间内活跃的程度)地理模块(查找附近)本文主要讲述如何用node.js编写静态资源服务器。前期准备既然要用node.js编写,首先是下载、安装最新版的node。启动服务nodejs 启动一个服务器的方法很简单,就是调用no...

windows10环境下nodejs安装【图】

1.node.js简单介绍node.js是一个基于Chrome JavaScript 运行时的建立的一个平台;2.node.js 安装2.1.直接安装(不推荐)node.js,可以直接从官网下载,双节安装;官网地址:https://nodejs.org/en/;2.2.利用nvm安装nvm是 Nodejs 版本管理器,它让我们方便的对切换Nodejs 版本。vm 是 Mac 下的 node 管理工具,如果需要管理 Windows 下的 node,官方推荐使用 nvmw 或 nvm-windows。首先下载nvm,推荐github中这个地址的版本 https:/...

nodejs 全局变量-global【代码】

概述 JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。 APIvar gVar = "Debug project"; global.projectName = gVar;/*** nodejs 全局变量*/function testGlobalVar() {console.log(global.projectN...

nodejs如何从异步回调函数返回想要的值【代码】

const fs = require(‘fs‘)let read=()=>{fs.readFile("./contents/test.json",(err,data)=>{return JSON.parse(data.toString())}) }(()=>{let result = read()console.log(result) //undefind })()我们想从一个回调函数返回一个我们想要的值,如果按照上面的写法我们始终只能拿到undefind。解决的办法也很简单,如下。const fs = require(‘fs‘)let read=async ()=>{returnnew Promise((resolve,reject)=>{fs.readFile("./con...

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...