island205 / bodule

module solution for browser
17 stars 4 forks source link

要解决的一些问题 #2

Open island205 opened 11 years ago

island205 commented 11 years ago

欢迎补充

tiye commented 11 years ago

模块的缓存是怎么解决的? 我这两天遇到 Bower 想不通这个问题 而且, 大公司里的前端脚本是怎样部署的? 像 Bower 是按项目路径安装的, 那么项目是放在 CDN 上还是直接用放在项目服务器上的?

island205 commented 11 years ago

@jiyinyiyong 等我研究一下Bower。

island205 commented 11 years ago

@jiyinyiyong 我看了一下Bower,看上去像是web端的npm。包管理和把包放在哪里以及这些包之后如何发布并没有直接联系。Bower只是一个web包管理工具。

在我们公司,前端脚本会单独放在静态文件服务器上,然后使用CDN去请求这些静态服务器,然后缓存在CDN中。

tiye commented 11 years ago

@island205 原来是用代理加缓存. 我去找找看 Nginx 怎么做这个的功能. 我几天用下来觉得 Bower 的依赖意义不大.. 感觉这事情还真是不对头

junyuan-qi commented 11 years ago

@jiyinyiyong Bower的管理还是有意义的,代码的模块化封装可以促进合作,然后其他人就无需关心这里面的改变,仅仅在必要时运行bower update就可以拿到最新的包来用。举例来说,我们在teambition是这样实践的:我们的设计团队承担了打造teambition UI kit的任务,js工程师在使用时简单地bower install teambition-ui就可以使用最新的设计,他就完全无需去关心ui方向的改变。

tiye commented 11 years ago

@conan007ai 这方面的意义我同意的, 我指的是 Bower 模块不能用递归的依赖 jQuery 模块虽然不会遇到冲突, 但其他模块依赖特定版本时在前端加载的还是只有一个版本 Bower 上模块是混杂的, 大多还不是 AMD CMD 规范下的模块, 所以觉得不对头 或者说 Bower 本身就没设计去解决 JS 模块化问题..

island205 commented 11 years ago

@jiyinyiyong 推荐你关注一下 @conan007ai 的团队,如果你对互联网开发有兴趣的话。

tiye commented 11 years ago

36Kr 报道那天就注册了 Teambition, 很喜欢界面但是比如....

Failed to load resource: the server responded with a status of 404 (Not Found) http://www.teambition.com/javascripts/libs/prettify/prettify.css

Teambition 是各种用 Node 么?

junyuan-qi commented 11 years ago

@island205 thanx=) @jiyinyiyong 目前尚且属于测试,很抱歉带来这种问题(btw prettify那个情况是这样,我们用了google的代码高亮,但是因为比较大,就在require上封了一次lazy load,结果学艺不精,稳定性很差); 我们确实是重度使用node,如果感兴趣可以多聊聊=)但是,在必要的环节还是使用了python和ruby做一些fallback。

junyuan-qi commented 11 years ago

@jiyinyiyong bower只能算是包管理,在他的定义下,包和git repos比较像... tj有一个项目叫component 也是在做web的包管理

我觉得你想要的是专门用来管理js lib的依赖的东西么?类似underscore,backbone这样的lib?我其实同样有这样的痛苦,每次都不知道拿来的lib是不是amd-ready的,自己改的话更新的时候又麻烦。

tiye commented 11 years ago

@conan007ai 我还在学习阶段, 只熟悉 Node 平台.. 很羡慕你们用 Node 做出来产品了 去学组织代码的方式, 体会到前端不采用 CommonJS 这样的方案组织代码, 日后管理重用代码会很难 我比较想求一个一劳永逸的方案, 前端后端的代码照写照用, 而且不会有太多开发和调试上的麻烦 希望像 Node, 有大神们写的模块, 我功力不够, 也能轻松驾驭代码去开发能够用的产品出来

当然 Bower 的确是底层工具, Yeoman 听说整合了 Bower 和 AMD 模块, 以及 Grunt 的脚手架.. 奇怪的 Yeoman 详细文档没有找到.. 不然 AMD 社区模块丰富的话也需要太多犹豫 最近发现 SourceMap 方案开始成熟, 就增加到 Component 项目的关注了

junyuan-qi commented 11 years ago

@jiyinyiyong
yeoman是这么回事 他最近在从0.9升到1.0 但是变化很大 于是doc就跟不上了

tiye commented 11 years ago

@conan007ai 刚翻到 Yeoman Github Wiki 还有不少内容, 改版涉及真多 看来还是一堆的内容要学的..

island205 commented 11 years ago

@conan007ai 看了Yeoman还真是一个方便的工具,你们用Yeoman么?

junyuan-qi commented 11 years ago

@island205 yeoman确实很好,我们用过一阵子,但是后来我们自己对backbone的定制程度太高了,他的generator已经不够用了,就自己写了一些bash。

tiye commented 11 years ago

@conan007ai 表示在学用 Bower 和 Grunt, 对 Yeoman 这种加一层的封装很不理解.. 用 Yeoman 有什么特别的好处么?

junyuan-qi commented 11 years ago

@jiyinyiyong 自动化,并且能保持一定的规范