咨询一个问题,
uniapp里nvue和vue的关系是什么啊???
为什么有vue文件了还要再重新为app单独写一份nvue呢?
不是统一生成页面的吗?
在官方的nvue注意事项也没说的很清楚,很纠结
- 发布:2019-04-28 11:34
- 更新:2024-06-18 05:37
- 阅读:71091
最佳回复
uni-app是逻辑和渲染分离的。渲染层,在app端提供了两套排版引擎:小程序方式的webview渲染,和weex方式的原生渲染。
两种渲染引擎可以自己根据需要选。vue文件走的webview渲染,nvue走的原生渲染。
组件和js写法是一样的,css不一样,原生排版的能用的css必须是flex布局,这是web的css的子集。当然什么界面都可以用flex布出来。不懂flex布局就自己学。
一般情况下用vue就可以了。如果是app且有部分场景vue页面的性能不满足你的需求时,这个页面可以改用nvue页面。如果app里同时存在同名的vue和nvue页面,在app端会优先执行nvue页面,而其他端仍然优先vue页面。
当然,nvue也可以编译到h5和小程序,也是可以跨端的,只是相比vue写法多些限制。
区别和适用场景这文档里写的很清楚:https://uniapp.dcloud.io/nvue-outline
更新:
uni-app x推出后,nvue就不再维护了。请nvue开发者迁移到uni-app x
cecf - 前台转全栈
a:“请问,你小孩姓名?”
b:“我小孩可漂亮了,大大的眼睛,长长的睫毛,高高的鼻子,脸型像baby……”
a:“呃,我是问你小孩叫啥?”
b:“他可聪明了,3岁就会背唐诗,从小就知道天上的星星有几颗……”
a:“嗯嗯,我的问题是:你小孩叫啥?”
c:“这么简单的问题,不是跟你说了嘛,他很漂亮很聪明,你还有啥不明白的,你是不是老外啊?听不懂就去学汉语。”
a:“……”
cecf - 前台转全栈
我也是带着同样的疑问进来的,我的心中,其实充满了类似的疑问。
别跟我说看文档啊,谁跟我说,我跟谁急。
这官方文档写的……看起来,那真叫一个让人思绪万千,气海充盈,原地飞升。不但索引天马行空,内容上也是东一榔头西一棒槌,关键处还多有语焉不详,经常避实就虚,闪转腾挪地用空话应付。相当怀疑文档作者是否离退休官员。
难道真是官员?……呃,有了这个线索,那就好理解了:根据官员们一贯的德行,但凡遮遮掩掩,其中必有诈!
so,楼主的问题,可以如下理解(你看,文档本身还需要解读,真是对文档的高级黑啊):
1、vue主要面向小程序,app只是买一送一的玩意儿。这送的自行车,有车轱辘和脚蹬子能骑就行了,还要啥车铃铛和车座。
2、如果你对uniapp号称“一套代码,全端覆盖”有疑问,请端起你的泡面杯,凝视那清洁溜溜的泡面,认真回忆一下它广告上的鲜虾、鱼板、牛肉。。。
强烈建议官方整理文档!要么就再出一个解读文档的文档!
强烈建议官方整理文档!要么就再出一个解读文档的文档!
强烈建议官方整理文档!要么就再出一个解读文档的文档!
按官方文档的解释:
1,nvue是对weex的增强。
2,在App端nvue的性能更优。
3,如果你不开发App,那么你不太需要nvue。
那么问题来了:
1,如果要做高性能的APP,那是不是需要去学一遍weex ?
2,按上述说法,官方推荐在APP使用nvue,小程序和H5端使用vue,那是不是又变成了两套代码?
-
h***@qq.com (作者)
我就是说官方的nvue注意事项没写很清楚啊,nvue和vue的关系是什么啊???为什么有vue文件了还要再重新为app单独写一份nvue呢?如果小程序页面和app页面一样,单独写岂不是又重复代码了吗?
2019-04-28 11:42
-
h***@qq.com (作者)
回复 Trust: 其实我就是想了解文档里面没有提到的,如下:
问题:相同名字的nvue和vue是描述同一个页面吗,然后nvue作为和weex的桥梁增强vue?如果是的话,那需要怎么样在vue里使用nvue里定义的视图,如果是独立定义不同页面的话,那如果有一个index页的内容在app和小程序里都是相同的,岂不是要nvue和vue里的视图定义重复了2019-04-28 14:13
-
回复 h***@qq.com: 如果你已经是 weex 的开发者,具有 weex 的填坑能力,那么 nvue 是你的更优选择,能切实提升你的开发效率,降低成本。
如果你不开发App,那么你不太需要nvue。
如果你是web前端,不熟悉 weex,那么建议你仍然以使用 vue 为主,在App端某些 vue 表现不佳的场景下使用 nvue 作为强化补充:
2019-11-12 11:02
1***@qq.com - 无
请问问题解决了吗,我也不懂
如果想一套代码生成多端 nvue对于app性能更优 在uni-app模式下其他端也适用
-
回复 asdferrtwrrt: 我觉得可能是你的语文学的不太好,我觉得很好理解,断句也很明显
如果想一套代码生成多端, nvue对于app性能更优, 在uni-app模式下其他端也适用2020-06-11 15:14
编译方式跟结果不一样,vue 编译的时候自动忽略ref属性,而nvue 不会。
简单的说下这个会问题:vue 编译后保留id属性,去掉ref属性。weex 渲染忽略id保留ref。
编译后,在vue中引用ref都报错,更不用说传递给原生。而原生始终找不到red跟id,是不是很可笑?
那怎么办呢?请把后缀改成nvue ,这个ref可以作为参数传递到任何地方。
1***@163.com - free
现在的解释都是驴唇不对马嘴,问的这个回答那个,最最最重要的是回复的答案都是照抄的,字都不带变的,你对他的回答提出疑问,他就会让你看文档,文档要是写的清楚还用来提问吗【手动狗头保命】
蹦豆儿
这个比文档看得明白。强列建议放入文档中!如果用一套程序的话,是不是某个页需要两套页面,一套是vue,一套是nuve?
2020-04-14 10:47
DCloud_heavensoft
回复 蹦豆儿: 文档里都有。你可以写2个页面,也可以只写一个nvue适配不同多端
2020-04-14 23:42
9***@qq.com
回复 DCloud_heavensoft: 我用的nvue,在app.vue中import的css文件,.浏览器上.nvue的页面需要重新import css文件,在手机上是正常,这是什么问题
2020-05-16 16:21
小罗同学
回复 蹦豆儿: 如果没有特别的性能需求,没必要写两套,主要用vue就行了,nvue主要是app的,其他端不能用..
2020-05-27 10:51
7***@qq.com
回复 小罗同学: 那么问题来了 我写的就是App 用的就是vue,会照成什么后果?
2020-08-04 19:05
小罗同学
回复 7***@qq.com: 不会出任何后果,vue是浏览器模式渲染,多端通用,相对更稳定,坑更少。nvue是weex模式渲染,针对app做了优化,坑比较多,某些场景性能好一点点~
2021-04-29 11:56
1***@qq.com
map组件写的是更支持nvue,为什么页面用了nvue之后map组件直接不显示了
2022-03-28 15:29
g***@163.com
我在文件夹下有一个.vue文件和一个.nvue文件,为什么在app端渲染了vue文件呢
2023-03-29 15:04