之前在做app开发途中,更新软件版本之后发现的问题,报错:
nvue中不支持如下css。如全局或公共样式受影响,建议将告警样式写在ifndef APP-PLUS-NVUE的条件编译中
报错如图:
坏处是app的css样式不生效,但是好消息是,它不影响打包和运行。
去官方文档看了:
nvue页面编译模式差异
uni-app 深度改进了 weex,提供了2种编译模式,一种是常规的 weex 组件模式,即编写<div>。另一种是 uni-app 组件模式,即编写<view>。后者更提供了编译为小程序和H5的能力,实现了全端输出。
也可以理解为uni-app做了一个原生渲染的小程序引擎。
在 manifest.json 中修改2种编译模式,manifest.json -> app-plus -> nvueCompiler 切换编译模式。
nvueCompiler 有两个值:
weex
uni-app
// manifest.json
{
// ...
/* App平台特有配置 */
"app-plus": {
"nvueCompiler":"uni-app" //是否启用 uni-app 模式
}
}
如果没有在manifest里明确配置,默认是weex模式。这是为了向下兼容。
但是!还是报错,问题没有得到解决!
下面是我自己解决这个问题自己总结的两种方法
方法一:
回退到之前的版本,虽然问题解决了,但是不建议使用。因为官方更新版本是有原因的,是为了更好的服务,这只是其中的一个小bug,不影响整体使用。
方法二:
步骤1:
找到下面的某一条报错提示具体行,ctrl + 鼠标左键 定位到页面的具体行,如:
步骤2:
使用条件编译将提示行包起来:
/* #ifndef APP-PLUS-NVUE */
/* #endif */
如图:
用同样的方法把剩下的所有同样错误提示包起来!
步骤3:
还有,app.vue项目的接口文件,如果引用全局页面的公共css样式文件也要使用条件编译
最后运行,没有提示上述的错误。
这个问题的分享到此结束,谢谢大家!
如果大家遇到问题的也可以给我留言,我们一起讨论交流一下。