node入门(二)-- 模块系统/cheerio/webSocket
来源:互联网 发布:淘宝上黑曜石是真的吗 编辑:程序博客网 时间:2024/06/08 02:27
模块系统
CommonJS(cmd规范) -- 同步加载exports、module.exports、require('./xx.js')加载方式(只会加载一次)相对路径(./)或绝对路径(../)模块名找寻方式:(npm包下载默认名)node_modules->父目录node_modules->NODE_PATH
exports 暴露一部分
// 在a.js中exports.A = class A{ static fn (){ console.log('这是A的静态方法'); }};let B = '局部不暴露的B';exports.C = function () { console.error('暴露的C');};// 在testNodejs.js引入'use strict'let a = require('./a.js');a.A.fn(); //这是A的静态方法console.log(a.b); //undefineda.C();//暴露的C
module.exports 暴露全部
// 在b.js中var exports =module.exports = class B{ static fn (){ console.log('这是静态方法'); } f(){ console.log('这是普通方法!') }};exports.C = '暴露的变量';// 在testNodejs.js引入const B = require('./b.js');B.fn();//这是静态方法new B().f(); //这是普通方法!console.error(B.C);//暴露的变量
npm 模块管理工具
npm是随同nodeJS一起安装的包管理工具,能解决nodejs代码部署上的很多问题
首先cd '需要安装的目录' 设置npm镜像为淘宝镜像 npm config set registry https://registry.npm.taobao.org 备注 : 常用的npm命令 npm init (一直回车就可生成package.json文件) npm install xxx 安装模块 npm install xxx -S(或者--save)安装模块 会安装到package.json文件中,这样打包给别人。 就可以通过npm install安装所有的依赖模块 npm install xxx -g 将模块安装到全局环境中 //多用于安装webpack,grunt,node-supervisor(nodejs 热处理) npm ls 查看安装的模块及依赖 npm ls -g 查看全局安装的模块及依赖 npm uninstall xxx (-g) 卸载模块 npm cache clean 清理缓存
现在来试试一个替代jQuery,在nodejs中运行的模块–cheerio
jquery对象必须是window,node的全局对象是global,所以出现类似jquery的模块cheerio但是,cheerio只提供类似JQ的查找元素方式 -- 可做网络抓取
如果你需要使用jQuery。先下载npm install jquery@1 (代表1的版本,默认下载最新3)可以 window.$ = window.jQuery =require('jquery');var http = require('http');var cheerio = require('cheerio');var $ = cheerio.load('<html><body><div><span>测试</span></div></body></html>');console.error($('span').text()); //测试console.error($('div').html()); //<span>测试</span>http.get({host: 'www.baidu.com'}, function (response) { response.on('data', function (data) { var $ = cheerio.load(data.toString()); console.log($('a').attr('href')); // //www.baidu.com/gaoji/preferences.html })});
webSocket
安装npm install ws
在testWebSocket.js中
"use strict";var ws = require('ws');var servicer = new ws.Server({port:41233});//创建server//client 拿到所有的链接的数组,用于群发 -- // 应用会更新一个带登录注册demo/*function sendAll(str) { for (let skt of servicer.clients) { skt.send(str); //str代表要发送的数据 }}*///socket得到webSocket链接servicer.on('connection',function (socket) { console.log('连接上了'); socket.on('message',function (data) { console.log(data); socket.send('已经接收的消息:'+data); }); socket.on('close',function () { console.log('一个链接断开'); socket.close(); });});
在testWebSocket.html文件中
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Test ws</title></head><style> div{ width: 200px;height: 400px;color: #e4393c; font-size: 14px;}</style><body><input><button>发送</button><div></div> <script> var div = document.getElementsByTagName('div')[0]; var inp = document.body.children[0]; var btn = document.body.children[1]; var ws = new WebSocket('ws://localhost:41233'); ws.onmessage = function (o) { var p = document.createElement('p'); p.innerHTML = o.data; div.appendChild(p); } btn.onclick = function () { ws.send(inp.value); inp.value = ''; } </script></body></html>
阅读全文
0 0
- node入门(二)-- 模块系统/cheerio/webSocket
- Node.Js cheerio模块--操作/解析Html
- Node.Js cheerio模块简单API
- 入门到放弃node系列之网络模块(二)
- node+ws模块实现websocket
- Node.js入门小记(二)node.js的模块管理
- Node.js npm cheerio
- node.js与websocket入门
- node.js与websocket入门
- 抓取页面模块 cheerio
- nodejs+cheerio 爬虫入门
- node 服务端的jquery---cheerio
- Node.js中cheerio详解
- node入门(一)--内置模块
- Node入门--事件模块
- 记websocket(windows系统下nodejs,node-websocket-server实现简单聊天)
- 【Node.js基础篇】(二)Node模块的使用
- Node.js模块系统
- 打开控制台的方法
- USB驱动架构浅析
- Linux
- 数据结构之线段树
- matlab2016并行操作测试
- node入门(二)-- 模块系统/cheerio/webSocket
- 吴军《数学之美》部分概念笔记(1-11章)
- 状态压缩DP(入门)
- Linux命令基础21-第一个bash脚本
- 类的加载机制2
- /wd4430
- 输入子系统(四)
- Python 高阶 模块
- Scala之trait