React多语言方案
由于框架使用的是 React , 多语言方案也选择了生态系统下的 react-intl 模块,它是雅虎 FormatJS 计划的一部分。
翻译字符串替换
使用 react-intl 替换字符串用以翻译很方便。只需将整个业务父组件包裹在 IntlProvider 中:
|
|
由于框架使用的是 React , 多语言方案也选择了生态系统下的 react-intl 模块,它是雅虎 FormatJS 计划的一部分。
使用 react-intl 替换字符串用以翻译很方便。只需将整个业务父组件包裹在 IntlProvider 中:
|
|
一个简单Node服务在500并发的压力下长期运行时会出现内存占用不断增长的问题。
http_load 是用来测试web服务器吞吐量和负载的测试工具。使用方法示例如下:
|
|
本文先介绍 koa 的简单使用和一些背景概念,已经了解的可以跳过直接到 co 和 koa 执行分析部分。
koa的简介如下:
由 Express 原班人马打造的 koa,致力于成为一个更小、更健壮、更富有表现力的 Web 框架。使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套,并极大地提升常用错误处理效率。Koa 不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。
使用 koa 构建一个 web 应用有多简单?先来看一个使用例子 app.js
:
|
|
由于官方的NPM库是完全开放的,任何人都可以浏览和下载,所以公司私有的、不便对外公开的node模块就没法上传和下载,也无法使用NPM的版本管理功能。这就需要在公司内部建立私有的NPM服务。
目前官方给出的解决方案是 npm-registry-couchapp + couchDB 的解决方案。但是couchDB的安装配置过程相对来说有点复杂。这里使用较简单快速的方法,也就是使用alibaba团队的 cnpmjs.org 的方案。
cnpmjs.org 依赖环境如下,数据库只需要选择其中一种就可以:
在前端工程化中,目前最流行的是使用gulp构建前端代码。但gulp只是提供了一种流式的文件处理方式,具体的功能需要各种插件来实现。gulp插件种类繁多,各自实现了特定的功能,无法全部了解和熟悉,那么在决定构建方案的时候难免选择困难,无法快速准确地选择出自己需要插件。
但事实上一些常用的功能,已经有一些流行而成熟的插件被广泛地应用了,我们不需要自己大海捞针一样去搜寻和评估一大片插件才能选择到合适的插件。本文就是基于‘HTML5页面node化’的项目中使用到的插件,形成一个暂时较为通用的gulp构建工作流。随着项目的积累和深入,以后将会补充和修改。
注 :gulp的基本使用方法将不会赘述。
清理即是删除上次构建产生的文件。一般情况下,构建的目标目录需要和源码目录分开。这样在清理时,直接将构建的目标目录(这里为dist
目录)下的所有文件删除即可。
原本 Web端 使用的 flash 播放器是 ckplayer,基本能满足当时的使用需求。但是,服务器端推流改为RTMP后,ckplayer 在 播放画面真正出现前会出现短暂的黑屏,这个问题没法解决,最后只能改为使用百度的 cyberplayer 播放器1.5版本。
百度播放器 可以设置onMeta事件 知道画面出现的真正时间,所以可以在画面出现前加一层loading的div覆盖播放器,等到画面出现时再隐藏这一层div。实现代码如下:
|
|
在决定使用百度播放器前,还试用过 jwplayer 播放器。jwplayer是国外团队开发的比较成熟的Web播放器,支持完善的api接口,包括上文的metdata事件。但是免费版不支持hls流的播放,且不能用于商业活动,收费版需要授权使用。所以只能退而求其次,使用百度播放器。但是百度播放器的源码是不公开的,出了问题很难排查解决,在使用过程中确实遇到了一些问题,所以产生了需要自有的web播放器的需求。
百度百科:
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。
通俗讲vagrant就是用于管理虚拟机的,但是需要依赖虚拟化软件的支持,比如Oracle的VirtualBox(常用)或者VMwave。它还可以配合puppet或者chef自动化配置环境。
下载地址:https://www.virtualbox.org/wiki/Downloads
建议使用4.3.12版本,不要安装最新版。安装流程直接按照提示一直下一步。
|
|
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。
capturing
表示开启状态。