主题:【原创】jquery 和 vue -- 铁手
另外我开发企业内部网站比较多。对于大流量像西西河这样不是很有经验。
下面是我的理解,没有读过vue源码,不一定正确,主要是建立一个理解它思想模型。
1. Vue vs. div
一个Vue相当于一个div元素的。一个HTML通常从一个div开始嵌套,一个Vue工程也是一个new Vue()开始,然后里面再一个个Vue对象嵌套。Component 是一个定制化的Vue对象。当你开始用脚手架开始,用.vue文件来开发时,表现得特别明显。
一个.vue文件包含 模板(HTML), JS代码(预先定义好原形的类method), css 。模板顶级element有并且,只能有一个顶级div.
总结一下, vue 就是一个加强版的div, 使得对这个div的style,attributes, event等好处理。把Vue对象一一对应起来有助于整齐思考网页的设计。
2. vue.component(), vue.extend(), vue.component()
一个.vue文件对应于一个component,这是一种IDE友好的可视化写法,比vue.component()这种纯代码直观的多。也有利于组织源代码。
但是这不是标准的js语法,所以Vue需要先把这个文件作为普通的字符串,装载再语法解析,翻译成标准的js文件,再生成DOM树,当然夹杂很多优化,不然就没有意义了。这个事情有vue.compile()来完成。
所以如果你用.vue文件来写component, 基本不需要使用compile, extend etc. 脚手架就是一个自动调用这些api的框架,用来解释自己的DSL(domain specific language),那些.vue文件。
3. vuex,router
这些客户端路由主要用于SPA(single page application),西西河更类似行为网站,而不是应用Application,没有太多客户端状态需要保留和切换,不是很有用。这些客户端路由基本上是利用业内跳转(#),或者history api(浏览器的前进后退按钮来实现)。西西河目前的API挺好,只需要把他们转换成返回数据I,用component发送ajax访问就好了。
4. SEO
我做intranet网站多,所以没什么经验。
Google 的爬虫是爬下来,用chrome render后才索引的,我觉得西西河不用担心js使用太多这个问题。其他主流估计也差不多。
另外vue也只支持server 端 render。但是要用node js。不知道西西河的后端是是什么。
- 相关回复 上下关系8
🙂jquery 过时是因为它提供的便利性已经成为语言特性 20 透明 字674 2020-07-27 22:43:30
🙂正解,前端就像时装,不断有潮流 8 敲门 字388 2020-07-29 07:54:23
🙂太感谢了,一并请教 8 铁手 字2120 2020-07-28 13:39:33
🙂我不是一个vue的重度使用者,虽然vue会是首选。
🙂多谢。前面的问题通过 vue.extend 暂时解觉了 5 铁手 字1460 2020-07-31 16:30:11
🙂一个版本足以,CSS这块估计要综合考虑 4 敲门 字495 2020-07-29 08:00:15
🙂嗯,前面提的版本主要是针对搜索引擎 1 铁手 字348 2020-07-31 14:41:46
🙂hover是交互工程师需要考虑的问题 2 敲门 字574 2020-08-01 13:34:46