- 开发时的和部署时类库的引用和存放是一致仍是不一样?
开发时和部署时,类库的的引用和存放是看起来一致,可是背后其实不同。
天猫因为业务对模块的线上搭建的需求比较强烈,大部分场景下无法走本地打包,都用的存放在CDN的模块。
本地开发的时候,文件host会指到本地,引用的模块会从服务端拉取到本地(提升下次读取的速度,这部分工做由本地的开发server完成),可是引用的方式是和线上同样的。
本地开发时:
const overly = require('mui/overlay/index');
打包到线上
define('xxx', ['mui/overlay/index'], function(require){
var overly = require('mui/overlay/index');
}
请求模块的url都是
http://g.alicdn.com/mui/overlay/4.0.0/index.js
内部依赖模块放到项目中,公共模块放CDN。
其实这么描述有些抽象,可是也给了开发者足够的自由。
- 渲染网页用 Nginx 仍是其余动态语言的 Web 服务器?
如今貌似这个问题没什么好讨论的。
本地开发环境最好和服务端架构保持一致,如今服务端是Node,本地确定也是Node。
最理想的状况下,设计师应当花比较多的时间和前端一块儿维护一套模块UI规范,而后设计师设计页面的时候,也必须根据这个模块UI规范来。
全部有个性化的调整,都应当考虑是否是应当补充回到UI规范中,保证总体视觉的一致性体验。
固然,总有不合适和一些特殊场景下的视觉稿,就单独处理好了。
因此应该是在设计师的稿子上体现模块,而不是到前端才来看哪些模块和视觉稿能匹配上。
对于模块,社区方案必定是很是棒的,因此在没有现成的状况下,很是建议引入社区模块,并在引入以后维护起来。
后面一点维护起来很是重要,引入一个模块很简单,维护起来就不是了,或许你会发现这个社区模块有一些bug,或者是部分不知足需求,去修改并改善这个模块比重写一个模块要求更高,难度更大(你要理解其余开发者为何要这么写代码)。完成以后提MR到社区也是对社区的贡献。
本身写的状况也有,但更多仍是要考虑本身写的意义在哪里,通常在社区模块落后于你对模块的思考和规划时,本身写是一个好的选择。
做者:吴天豪 连接:https://www.zhihu.com/question/20790576/answer/102228074 来源:知乎 著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。