Github StackChat 学习回顾 React和Electron结合 TypeError: fs.existsSync is not a function 在React组件里引入electron时候就会报这个错,主要原因是在React里不能引入Node.js的模块 解决方法 Webpack target属性 先展开Create-React-App所有配置 npm run eject 在webpack.config.js下添加配置 // other configs... module.ex…
Github StackChat 技术栈 写这个软件StackChat的主要目的是巩固练习Node和对React的实践,也是为了学习东西,所以选用了这些自己还没在项目里使用过的技术,边学变写 Electron React Material-UI React-Router Redux Express Socket.io MongoDB 现在已完成前端大部分界面的构建(无状态),所以记录一下 环境搭建 Create-React-App 利用React脚手架Create-React-App,再写入依赖…
Github StackChat 学习回顾 Socket.io 结合Express创建Socket.io服务器 const app = require('express')() const http = require('http').createServer(app) const io = require('socket.io')(http) 客户端进行连接 const url = `http://localhost:8008` const socket = io(url) url传参 //客…
Github StackChat 用到的React-Router React-Router是React路由的解决方案之一,也可以使用别的库 安装 npm install react-router --save-dev 路由配置 react-router主要提供了几个组件来进行路由之间结构的组织 Router 所有路由组件的根 Route 路由组件 path属性 匹配路径 component属性 匹配路径渲染的组件 IndexRoute 配置默认页面 component 渲染的组件 React.r…
Github StackChat Redux学习回顾 Redux的主要功能就是管理复杂交错的State,比如需要讲state提升到顶层组件的场景中,使用Redux就很合适 Redux主要提供三个东西来进行状态管理 1. Action 表达要进行的动作,也就是通过view层触发,来进行派发来改变全局state action创建函数 也就是只返回一个action的函数 export const SignUpEmailChange = (value) => ({ type: 'SIGNUP_EMAIL…
<script> (function () { var navUA = navigator.userAgent; var defIncludeStr = "iPhone|Android|iPod|BlackBerry|"; var defExcludeStr = ""; var redirectUrl = ""; var metas = document.getElementsByTagName("meta");…
客户端JavaScript中没有对二进制数据提供很好的支持.但是在处理TCP流或文件流时,必须要处理二进制数据.Node.js定义了一个Buffer类,用来创建一个专门存放二进制数据的缓存区. Buffer中存的数据默认为16进制. 1.创建Buffer对象 在Node.js中,Buffer类是一个可以在任何模块中不使用的全局类,不要单独加载.可以使用New关键字来创建该类的实例对象. Buffer类有三种形式的构造函数: 第一种:将缓存区大小(以字节为单位)作为构造函数的参数 var size…
Node.js之使用Buffer类处理二进制数据 Buffer类可以在处理TCP流或文件流时处理二进制数据,该类用来创建一个专门存放二进制数据的缓存区. 1. 创建Buffer对象 1.1 直接创建: bur = new BUffer(123) //123 为bur缓存区长度 1.2 初始化缓存区内容可以用fill属性: bur.fill(value,[offset],[end]) //value:为必填参数,数值为需要写入的数值 第二个参数为数据写入的起始位置,默认为0 第三个参数为数据写入的…
一.项目介绍 基于react+react-dom+react-router-dom+redux+react-redux+webpack2.0+nodejs等技术混合开发的仿微信web端聊天室reactWebChat项目,实现了聊天记录右键菜单.发送消息.表情(动图),图片.视频预览,浏览器截图粘贴发送等功能. 二.技术选型 MVVM框架:react / react-dom 状态管理:redux / react-redux 页面路由:react-router-dom 弹窗插件:wcPop 打包工具…
这段时间进了一个新的项目组,项目是用Appcan来做一个跨平台的移动运维系统,其中前台和后台之间本来是打算用WebSocket来实现的,但写好了示例后发现android不支持WebSocket,大为受挫.后在园子里看到用socket.io可以代替WebSocket,然而对于我这样JS都没学全的来说有多了一块要啃的砖头了,没奈何还是要硬着头皮上.下面是我用node.js和socket.io做的一个简易的Web聊天室,不过只支持局域网.由于也是刚学这些所以做的不好就请见谅了. 以下是服务端代码ind…