[关闭]
@lwxyfer 2016-03-07T00:31:45.000000Z 字数 2733 阅读 1493

24小时 chatroom


先说技术实现:

后端: Node.js + socket.io
前端: React + redux + socket(client) + babel

环境配置

https://www.twilio.com/blog/2015/08/setting-up-react-for-es6-with-webpack-and-babel-2.html
http://blog.xebia.com/unlocking-es2015-features-with-webpack-and-babel/
http://zhuanlan.zhihu.com/FrontendMagazine/20522487 学习
http://wwsun.github.io/posts/react-with-es6-part-1.html?utm_source=tuicool&utm_medium=referral
https://segmentfault.com/a/1190000004506929
http://www.jonathan-petitcolas.com/2015/05/15/howto-setup-webpack-on-es6-react-application-with-sass.html

Node.js

熟悉Node.js

目前不用管

webpack

更多需求:

Path 路径设置
server-dev 服务器设置
hot 热插拔设置 或者 react-transform

websocket:

WebSocket是HTML5开始提供的一种在单个TCP 连接上进行全双工通讯的协议。
https://www.zhihu.com/question/20215561 讨论
http://javascript.ruanyifeng.com/htmlapi/websocket.html
http://www.html5rocks.com/zh/tutorials/websockets/basics/
https://www.ibm.com/developerworks/cn/web/1112_huangxa_websocket/

直接使用socket.io 作为通信中间,不做过多细节探讨。

socket.io ws断开:

npm

各种命令

  1. 设置npm命令
  2. 为了能每一次都非常简单的使用编译命令,你可以更新你的 package.json 文件去为Babel加一个构建命令。在 package.json script 对象你可以如下添加构建命令。
  3. "scripts": {
  4. "build": "babel -w code/ -d build -s"
  5. }
  6. 现在,我们运行:
  7. npm run build

npm自定义命令

npm的各种命令: --save -dev 这些怎么设置,怎么直接与webpack关联。

https://coderwall.com/p/lwfndg/use-npm-start-to-launch-node-app just npm start

http://javascript.ruanyifeng.com/nodejs/npm.html

Babel

https://babeljs.io/docs/setup/#webpack 官方基本配置,完成加载 ES2015.js 、 react.jsx 两个加载器,不用使用react的jsx加载器。

https://github.com/thejameskyle/babel-handbook/blob/master/translations/zh-Hans/user-handbook.md 文档

  1. npm install --save-dev babel-loader babel-core
  2. # ES2015转码规则
  3. $ npm install --save-dev babel-preset-es2015
  4. # react转码规则
  5. $ npm install --save-dev babel-preset-react

loader: webpack配置

  1. {
  2. test: /.jsx?$/,
  3. loader: 'babel-loader',
  4. exclude: /node_modules/,
  5. query: {
  6. presets: ['es2015', 'react']
  7. }

https://github.com/babel/babel-sublime 语法高亮支持
https://segmentfault.com/a/1190000003698071 sublime配置语法高亮和检查

React

react react-dom

配置好bable的语法支持和jsx支持。

tutorial

https://facebook.github.io/react/docs/getting-started.html
http://reactjs.cn/react/docs/tutorial.html

http://wwsun.github.io/posts/react-with-es6-part-2.html 几个小应用

理解React

http://www.ibm.com/developerworks/cn/web/1509_dongyue_react/

JSX 语法

这里是坑

用ES2015写react,其中有几个坑是必须注意的:

Cannot read property 'xxx of null
http://egorsmirnov.me/2015/08/16/react-and-es6-part3.html 类方法绑定
http://wwsun.github.io/posts/react-with-es6-part-3.html 翻译
http://ju.outofmemory.cn/entry/197970 ES6问题
http://www.tamas.io/react-with-es6/ 官方例子的ES6版本
https://babeljs.io/blog/2015/06/07/react-on-es6-plus babel 的ES5 和ES2015 写法区分

http://bbs.reactnative.cn/topic/15/react-react-native-%E7%9A%84es5-es6%E5%86%99%E6%B3%95%E5%AF%B9%E7%85%A7%E8%A1%A8 ES5 ES6 跳坑

http://imweb.io/topic/561f9352883ae3ed25e400f5 简单的ES6规范问题

redux

https://camsong.github.io/redux-in-chinese/docs/introduction/Ecosystem.html
https://github.com/reactjs/react-redux

注意了注意了

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注