服务器的实现很简单,先装一个nodeJs的模块,叫nodejs-websocket , 直接在nodeJs命令行中敲入:npm install nodejs-websocket回车就可以安装好了,然后就可以开始建立服务器了,因为有了nodejs-websocket模块,所以很多工作都不用我们自己做,直接调用别人封装好的方法就行了:服务端代码根据客户端传来的消息判断哪个是game1,哪个是game2,保存connection对象。var ws = require("nodejs-websocket"); console.log("开始建立连接...
学习【node.js】也有几天时间了,所以打算写着练练手;索然我作为一个后端的选手,写起来还有那么一丝熟悉的感觉。emmm~~ ‘货不多讲 ,开搞........ 首先是依赖选择:代码块如下: //引入依赖//https请求const https = require(https);//简称node版的jqueryconst cheerio = require(cheerio);//解决防止出现乱码const iconv = require(iconv-lite)//http请求const request = require("request");//负责读写文件const fs = require...
想使用nodejs(koa)搭建一个完整的前后端,完成数据的增删改查,又不想使用数据库,那使用json文件吧。本文介绍了基于koa的json文件的增、删、改、查。 代码准备 const Koa = require(koa) const bodyParser = require(koa-bodyparser) const Router = require(koa-router) const fs = require(fs) const path = require(path) const app = new Koa() const router = new Router() app.use(bodyParser()) // 路由 const deploy = ...
背景 项目中有用到node做中间层,期间有个为PDF文件添加水印的需求,网上搜了不少帖子,发现有以下几点存在的问题。1、单页PDF的话,可以用PNG图片加到PDF上,但是实际使用情况就没那么理想,必须满足多页PDF每页都加上水印的效果方可。2、中间想过,把PDF转成图片,图片加上水印后再转回PDF,但是感觉中间步骤太麻烦,而且会面临清晰度下降的可能。3、Python、Java有相关方案,可以实现,有想过用node去执行Python脚本去为PDF加水...
前颜(yan)雪碧图(CSS sprite ),就是把很多小图标合并为一张图片。 在Web开发中,使用雪碧图是优化Web性能的一种方法。 比如你可能遇到过这样的一种场景:在你的页面中,使用到了很多的小图标,然后你的每个小图标都是通过 <img src=logo.png>来引用的。 通过这种方式虽然比较方便,但是存在的一个缺点就是性能问题,即浏览器在解析每个小图标时,都要发起一次http或(https)请求,而这个小图标本身却很小,可能只有十几k甚至...
打开cmd创建即可 $ npm init Package name: (hello) //模块名字,npm init会自动取当前目录名作为默认名字,这里不需要改,直接确认即可 Description: A example for write a module //模块说明 Package version: (0.0.0) 0.0.1 //模块版本号,这个大家按自己习惯来定就可以 Project homepage: (none) //模块的主页,如果有的话可以填在这里,也可以不填 Project git repository: (none) //模块的git仓库,选填。npm的用户一般...
本文介绍了NodeJS服务器实现gzip压缩,分享给大家,具体如下:在浏览器向服务器请求静态资源时,服务器为了减小在网络传输过程中消耗的流量和时间,都是将静态资源经过压缩后返回给服务器的,实现压缩的算法有 deflate 和 gzip 等,最常用的是 gzip 压缩。 gzip 简介 在浏览器和服务器之间通过 gzip 压缩流实现传输的过程可以用下图表示。当浏览器向服务器请求静态资源,服务器会将静态资源经过处理转换为压缩流,大大减小文件体积...
什么是多语言?我们平时访问一些文档类型的网站时,经常可以看到页面右上角有一个下拉框用来选择当前页面支持的语言,并在选中后将整个网页的内容切换为选中的语言,这就是项目中的多语言,多语言可以根据浏览器请求发送的语言类型在服务器进行设置,也可以在请求服务器时返回多种语言,并根据权重和浏览器的支持情况进行选择和渲染。 功能描述在本文中我们通过客户端向服务器发送请求告诉服务器客户端所支持的语言及权重,服务器检...
前言这几天为了熟悉vue.js框架,还有webpack的使用,就准备搭建一个发布和浏览markdwon的简单WEB应用。原本是想着用bash脚本和busybox的httpd来作为后台服务,但是bash脚本解析和生成JSON非常不方便,而用Java语言写又觉得部署不方便,所以就想到了正在用到的Node.js,于是就有了这篇博文。(文末有本文代码的github地址) 简单例子首先,从搭建最简单的 Hello world 开始,建立以下目录、文件和内容。 建立项目及运行projectweb-s...
一、Node中socket.io基础1、是什么Socket.IO类库,是在服务器和浏览器之间提供一个共享接口,其可以用于实现以下几种通信方式: HTML5中的WebSocket通信Flash中使用的WebSocket通信XHR轮询JSONP轮询Forever Iframe在通信时,客户端与服务器端可以使用相同的API2、怎么用原理:创建Scoket.IO服务器,该服务器依赖于一个已经创建的HTTP服务器 服务器端引入 var http=require(http) var sio=require(socket.io) var server=http.crea...
做网站经常会遇到弹出对话框获取用户输入或弹出对话框让用户确认某个操作之类的情景,有一个基于AngularJS的扩展模块可以帮我们优雅地完成这类事情:ngDialog。 ngDialog在github上提供了一个示例网页,演示了它的各种用法,在这里:https://github.com/likeastore/ngDialog/blob/master/example/index.html。ngDialog的github主页的readme也对常用的指令和服务做了较为详细的介绍,可以参考。我这篇就纯粹是参考ngDialog的示例来的...
一个关于node上传文件的例子,下面是前端代码,doUpload() {var formData = new FormData($("#uploadForm")[0]);$.ajax({url: http://localhost:3011/upload,type: POST,data: formData,async: false,cache: false,contentType: false,processData: false,success: function (returndata) {alert(returndata);},error: function (returndata) {// alert(returndata);}});} <form id="uploadForm"><p>上传文件:<input id="UpImage" ...
笔者在做一个个人博客项目的时候需要一个富文本框输入组件与后台进行交互,但是官方配置里面没有关于nodejs的,于是自己查阅资料研究了一下,最后终于应用到了系统中。 一、后台配置 首先是找到了这个项目:https://github.com/netpi/ueditor,可以通过他开源的代码将ueditor应用的node上面,大概方法如下: 1.先安装依赖: npm install ueditor --save2. 配置Node设置 //引入接口文件 const api = require(./api); //引入文件模块...
近几年,网页上各种新型验证码层出不穷,其中一种比较常见的是滑动验证码,比如下图这种。本文介绍了一种使用纯前端方法寻找滑动终点并模拟滑动的方法。 我们需要三个依赖库: puppeteer 、 Resemble.js 以及canvas 。其中 puppeteer 用于打开并操作页面, Resemble.js 及 canvas 用于寻找滑动验证码的终点位置。相关依赖如下: "dependencies": {"canvas": "^1.6.7","puppeteer": "^0.12.0","resemblejs": "^2.2.6" }接下来是实现...
本文介绍了node.js 用socket实现聊天的示例代码,分享给大家,也给自己留个笔记,具体如下:服务器搭建app.js const http = require("http"); const express = require("./express");//创建一个服务 const server = http.createServer(express);//监听服务端口 server.listen(8001,()=>{console.log("服务端已经启动,请访问 http://localhost:8001"); }); express.js const url=require("url"); const fs=require("fs");function ...