基于React,Redux以及wilddog的聊天室简单实现

作者:JerryXia | 发表于 , 阅读 (0)
本文主要是使用ReactJs和Redux来实现一个聊天功能的页面,页面极其简单。使用React时间不长,还是个noob,有不对之处欢迎大家吐槽指正。
还要指出这里没有使用到websocket等技术来实现后端逻辑,而是使用了wilddog充当后端。具体关于wilddog的介绍,戳这里。
目标:我期望的页面长这样,一个简单的消息列表,下面有个输入框和提交按钮,任何人可以在上面说话,并可以看到别人说的话,就这么简单。
1. React和Redux
React这么火,我就不多说了。Redux是一个类flux的应用框架,和flux一样是单向数据流,目前用来主要是对flux进行了一些优化,如将action变为简单的对象,store也是一个简单的对象树,引入了reducer来处理action,reducer本身是pure function,调试起来也极为方便,还可以配合使用hot-loader以及redux-dev-tool实现time travel调试功能,用起来还是有点爽爽的感觉。
2. 开始coding
"不想看扯淡,只要看源码的"戳这里:D。
文件目录是这样的:

项目是使...阅读全文

[译]webpack入门指南

作者:JerryXia | 发表于 , 阅读 (0)
这个命令使用我们刚创建的app.js文件的相对路径作为第一个参数,表示这是我们希望的js文件入口,后面的参数则是我们希望build完成后webpack为我们创建的文件。这样就完成了最简单的webpack的build。
定义一个配置文件Webpack中的配置文件基本上是一个commonJS模块。配置文件里面放了我们需要的配置项,loader(后面讲)还有一些其他的属性。
在刚才的那个目录定义一个webpack.config.js,这就是我们的Webpack配置文件,加入以下代码:
module.exports = {entry: "./app.js",output: {filename: "bundle.js"}}entry---该属性指的是我们文件的最顶层的入口,它可以是一个文件也可以是一个文件数组。在这里,我们就传入app.js。
output---该属性指的是输出文件。我们这里只给它指定一个名字bundle.js。
现在我们简单的运行:
webpack这样Webpack就会按照配置文件的属性,完成build。
其他配置项Watchmode
当配置了Watchmode...阅读全文

[译]为何所有人都在谈论同构JavaScript?它到底有什么用?

作者:JerryXia | 发表于 , 阅读 (0)
原文
需要说明的是我只翻译了文中我关注的部分,不喜请点原文。
在web开发领域,同构的意思是同时在服务器和客户端渲染页面。同构JS通常是通过Node.js/Io.js实现的,因为它们支持可以复用的第三方库,同时支持代码在只有少量修改的情况下同时运行在浏览器和Node.js/Io.js环境上。由于有着这样的互换性,Node.js和JavaScript生态有着一堆支持同构的框架,例如React.js。

三个开发者吹捧同构的原因:更好的搜索引擎优化(SEO)更好的性能更好的维护性在我们讨论这些好处之前,我们先回顾一下web的历史,看看为什么会和同构扯上关系。
Web开发快速回顾很久很久以前(其实并不久),HTML页面是全部由服务器端渲染的,那时网页的用户体验要比原生的桌面应用差很多。用户的每一次操作都会导致页面的刷新,例如提交表单,雪上加霜的是那时的带宽也。。。
2000年开始,所谓的单页应用(SPA)变得流行起来,因为其架构允许更加优雅而且用户体验如同桌面应用一般的应用(如今,桌面应用很多是用web技术通过Electron 或者 Adobe Air包装后生成,真是风水轮流转)...阅读全文