h***@qq.com
h***@qq.com
  • 发布:2019-04-28 11:34
  • 更新:2023-02-21 14:58
  • 阅读:68911

uniapp里nvue和vue的关系是什么啊?为什么有vue文件了还要再重新为app单独写一份nvue呢

分类:nvue

咨询一个问题,
uniapp里nvue和vue的关系是什么啊???
为什么有vue文件了还要再重新为app单独写一份nvue呢?
不是统一生成页面的吗?
在官方的nvue注意事项也没说的很清楚,很纠结

2019-04-28 11:34 负责人:无 分享
已邀请:

最佳回复

DCloud_heavensoft

DCloud_heavensoft

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

  • 蹦豆儿

    这个比文档看得明白。强列建议放入文档中!如果用一套程序的话,是不是某个页需要两套页面,一套是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

cecf

cecf - 前台转全栈

a:“请问,你小孩姓名?”
b:“我小孩可漂亮了,大大的眼睛,长长的睫毛,高高的鼻子,脸型像baby……”
a:“呃,我是问你小孩叫啥?”
b:“他可聪明了,3岁就会背唐诗,从小就知道天上的星星有几颗……”
a:“嗯嗯,我的问题是:你小孩叫啥?”
c:“这么简单的问题,不是跟你说了嘛,他很漂亮很聪明,你还有啥不明白的,你是不是老外啊?听不懂就去学汉语。”
a:“……”

  • 有你app

    评论里个个都是人才,说话又好听

    2020-03-20 10:04

  • 一颗优雅草科技

    人才

    2020-03-26 12:10

  • liuzhuolin

    还真的是这样。。。快弃坑了

    2020-05-13 20:06

  • 3***@qq.com

    太真实了,真的

    2020-05-28 10:05

  • c***@126.com

    前台转全栈?哈哈哈哈或,以前是在酒店上班吗?

    2020-06-17 14:25

  • 7***@qq.com

    真的是,文档无力吐槽,看不到想要的

    2020-07-20 10:47

  • Shenalone

    感觉是这样的,但有时候不想解释就会说看文档。。。

    2020-07-28 11:21

  • 白羊

    卧槽卧槽 情景再现

    2020-08-04 16:57

  • 赵玖

    说的太棒了

    2020-10-30 09:27

  • 1***@qq.com

    人才

    2020-12-18 14:08

cecf

cecf - 前台转全栈

我也是带着同样的疑问进来的,我的心中,其实充满了类似的疑问。

别跟我说看文档啊,谁跟我说,我跟谁急。

这官方文档写的……看起来,那真叫一个让人思绪万千,气海充盈,原地飞升。不但索引天马行空,内容上也是东一榔头西一棒槌,关键处还多有语焉不详,经常避实就虚,闪转腾挪地用空话应付。相当怀疑文档作者是否离退休官员。

难道真是官员?……呃,有了这个线索,那就好理解了:根据官员们一贯的德行,但凡遮遮掩掩,其中必有诈!

so,楼主的问题,可以如下理解(你看,文档本身还需要解读,真是对文档的高级黑啊):

1、vue主要面向小程序,app只是买一送一的玩意儿。这送的自行车,有车轱辘和脚蹬子能骑就行了,还要啥车铃铛和车座。
2、如果你对uniapp号称“一套代码,全端覆盖”有疑问,请端起你的泡面杯,凝视那清洁溜溜的泡面,认真回忆一下它广告上的鲜虾、鱼板、牛肉。。。

强烈建议官方整理文档!要么就再出一个解读文档的文档!
强烈建议官方整理文档!要么就再出一个解读文档的文档!
强烈建议官方整理文档!要么就再出一个解读文档的文档!

  • 1***@qq.com

    哈哈哈,解读文档的文档,禁止套娃

    2020-06-16 11:25

7***@qq.com

7***@qq.com

按官方文档的解释:
1,nvue是对weex的增强。
2,在App端nvue的性能更优。
3,如果你不开发App,那么你不太需要nvue。
那么问题来了:
1,如果要做高性能的APP,那是不是需要去学一遍weex ?
2,按上述说法,官方推荐在APP使用nvue,小程序和H5端使用vue,那是不是又变成了两套代码?

dfsgfg

dfsgfg

vue是军长,nvue是师长。H5+,app,小程序就是三个师,军长可以管app这个师,但是他的时间有限,毕竟要管三个师。师长也可以管app这个师。他的性能就好很多,因为他是专业管这个师的。

  • the_wolf_life

    那我军长管的这个app 怎么发布各大应用审核不通过呢 , 不是也可以管么。

    2020-06-15 11:03

3***@qq.com

3***@qq.com - 80后it男

卧槽,现在 技术交流这么奔放了吗?我仿佛在抖音评论里

liuxingke

liuxingke

  1. nvue是针对app开发的,如果你不开发app那就不用管nvue
  2. nvue使用weex的渲染引擎,性能比vue好
  3. nvue有许多的css不能用,具体参考weex的文档
Trust
  • h***@qq.com (作者)

    我就是说官方的nvue注意事项没写很清楚啊,nvue和vue的关系是什么啊???为什么有vue文件了还要再重新为app单独写一份nvue呢?如果小程序页面和app页面一样,单独写岂不是又重复代码了吗?

    2019-04-28 11:42

  • Trust

    回复 h***@qq.com: 没有关联关系,请仔细看文档。只有在App端想要更进一步优化的话,启用nvue文件。

    2019-04-28 11:46

  • h***@qq.com (作者)

    回复 Trust: 其实我就是想了解文档里面没有提到的,如下:

    问题:相同名字的nvue和vue是描述同一个页面吗,然后nvue作为和weex的桥梁增强vue?如果是的话,那需要怎么样在vue里使用nvue里定义的视图,如果是独立定义不同页面的话,那如果有一个index页的内容在app和小程序里都是相同的,岂不是要nvue和vue里的视图定义重复了

    2019-04-28 14:13

  • aliang888

    回复 h***@qq.com: 如果你已经是 weex 的开发者,具有 weex 的填坑能力,那么 nvue 是你的更优选择,能切实提升你的开发效率,降低成本。


    如果你不开发App,那么你不太需要nvue。


    如果你是web前端,不熟悉 weex,那么建议你仍然以使用 vue 为主,在App端某些 vue 表现不佳的场景下使用 nvue 作为强化补充:

    2019-11-12 11:02

1***@qq.com

1***@qq.com -

请问问题解决了吗,我也不懂

  • 风吹屁屁凉

    我总结了一下,不知道对不对,希望能帮到您。第一 nvue只有在打包成原生App时候使用,如打包成apk文件。第二 nvue只有需要在性能方面需要提高的地方使用,使用的技术应该属于weex的扩展。

    2019-12-24 15:20

asdferrtwrrt

asdferrtwrrt - 新手上路

我也有同样的疑问

爱学习的菜菜

爱学习的菜菜

如果想一套代码生成多端 nvue对于app性能更优 在uni-app模式下其他端也适用

  • asdferrtwrrt

    对不起,你的文法错误阻挡了我去得到你说的意思

    2020-03-13 14:49

  • Wistone

    回复 asdferrtwrrt: 看了你这个回复,我好想笑...

    2020-04-13 10:59

  • 阿东阿

    回复 Wistone: 感觉像是翻译过来的哈哈

    2020-04-14 09:02

  • 7***@qq.com

    回复 asdferrtwrrt: 我觉得可能是你的语文学的不太好,我觉得很好理解,断句也很明显

    如果想一套代码生成多端, nvue对于app性能更优, 在uni-app模式下其他端也适用

    2020-06-11 15:14

c***@qq.com

c***@qq.com

我理解的是编译方式不一样。nvue会编译成原生组件可能。
vue不会,是web。

k***@sina.com

k***@sina.com

多端开发,用nvue就对了

4***@qq.com

4***@qq.com

编译方式跟结果不一样,vue 编译的时候自动忽略ref属性,而nvue 不会。

简单的说下这个会问题:vue 编译后保留id属性,去掉ref属性。weex 渲染忽略id保留ref。

编译后,在vue中引用ref都报错,更不用说传递给原生。而原生始终找不到red跟id,是不是很可笑?

那怎么办呢?请把后缀改成nvue ,这个ref可以作为参数传递到任何地方。

风云杭州

风云杭州

确实有点让人糊涂。期待uniapp出一个只针对开发APP的版本

风云杭州

风云杭州

确实,强烈建议 官方 把开发app 和 开发小程序 独立出来,单独的文档或网站,现在混在一起,很容易混肴

阿斯旺

阿斯旺

大概明白了,如果只是小程序开发,使用vue就够了,如果你还想打包apk的话,就是用nvue。

风云杭州

风云杭州

用vue 来开发app, 性能和流畅性简直就是灾难

  • 8***@qq.com

    老哥 我用的vue打包后app后 前台发了请求 后台过了好久才收到请求 是这个问题么 但是杀了进程 多点几次 有几次 是正常响应的

    2020-07-10 08:43

  • 9***@qq.com

    回复 8***@qq.com: 真的这么卡吗

    2020-07-10 14:51

1***@163.com

1***@163.com - free

现在的解释都是驴唇不对马嘴,问的这个回答那个,最最最重要的是回复的答案都是照抄的,字都不带变的,你对他的回答提出疑问,他就会让你看文档,文档要是写的清楚还用来提问吗【手动狗头保命】

亚力山大

亚力山大

我以为只有像我这样的新人才有这样的问题, 没想到啊......

m***@outlook.com

m***@outlook.com

省流:只有开发 app 且追求彪悍性能,才使用 nvue,其他场景一律用 vue

  • c***@qq.com

    自定义组件就要nvue

    2023-05-25 22:24

要回复问题请先登录注册