Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
061e41c3
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
061e41c3
编写于
1月 26, 2024
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
web
上级
e2017bcc
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
39 addition
and
15 deletion
+39
-15
docs/compiler/README.md
docs/compiler/README.md
+1
-1
docs/component/text.md
docs/component/text.md
+2
-3
docs/component/unsupport.md
docs/component/unsupport.md
+3
-1
docs/project.md
docs/project.md
+19
-3
docs/uts/function.md
docs/uts/function.md
+2
-2
docs/web/README.md
docs/web/README.md
+12
-5
未找到文件。
docs/compiler/README.md
浏览文件 @
061e41c3
...
...
@@ -40,7 +40,7 @@ App原生语言的编译过程耗时较长,因此编译器引入了缓存机
### 注意@tips
-
`uni-app x`
编译器
会
产生kt、class等临时文件。安全软件(如360、微软)会对其进行木马扫描,消耗电脑性能。建议将项目的unpackage目录设置为信任,以提升编译性能。
-
`uni-app x`
编译器
编译Android平台时会在磁盘很多
产生kt、class等临时文件。安全软件(如360、微软)会对其进行木马扫描,消耗电脑性能。建议将项目的unpackage目录设置为信任,以提升编译性能。
> 360设置方式
...
...
docs/component/text.md
浏览文件 @
061e41c3
...
...
@@ -14,7 +14,6 @@
<!-- UTSCOMJSON.text.compatibility -->
#### App平台
-
App-Android平台文本换行规则(表现在文本断行位置等)可能和浏览器有差异。
## 子组件
...
...
@@ -31,5 +30,5 @@ app-nvue中,text组件不能嵌套。
## Bug & Tips@tips
-
app-uvue不支持
[
HTML字符实体
](
https://developer.mozilla.org/zh-CN/docs/Glossary/Entity
)
。
-
app-uvue的selectable开启后,仅支持全部文字复制,不支持自由调整光标选择文字。如需自由选择文字,请使用
[
rich-text组件
](
rich-text.md
)
。
-
app-uvue text组件嵌套时,子组件设置的部分CSS样式可能不生效。
\ No newline at end of file
-
app-uvue text组件嵌套时,子组件设置的部分CSS样式可能不生效。
-
app-uvue的selectable开启后,仅支持全部文字复制,不支持自由调整光标选择文字。如需自由选择文字,请使用
[
rich-text组件
](
rich-text.md
)
。web默认就是可复制文字的,selectable无效。
\ No newline at end of file
docs/component/unsupport.md
浏览文件 @
061e41c3
...
...
@@ -23,4 +23,6 @@ uni-app x在App端还有一批组件未与uni-app js引擎版拉齐。有的在
## Web平台
uni-app x的web版从uni-app的js引擎版迁移而来,理论上所有uni-app js引擎版的组件在uni-app x的web版中都可以使用。但4.0版本的uni-app x的web版暂未对其他组件进行测试。
\ No newline at end of file
uni-app x的web版从uni-app的js引擎版迁移而来,理论上所有uni-app js引擎版的组件在uni-app x的web版中都可以使用。但4.0版本的uni-app x的web版暂未对其他组件进行测试。
web平台也可以使用浏览器的内置标签,但不是写在template里,而是通过
`document.createElement`
的方式创建并append到view中。示例代码
[
详见
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/template/browser-canvas/browser-canvas.uvue
)
\ No newline at end of file
docs/project.md
浏览文件 @
061e41c3
...
...
@@ -61,7 +61,9 @@ uni-app x的项目结构与[uni-app js引擎版的项目结构](https://uniapp.d
</code>
</pre>
## 运行
## App的运行和发行
### App运行
uni-app x的真机运行基座(playground),和uni-app js引擎版不同,是一个绿色圆形的U(之前是方型H),基座名称默认为
`uni-app x`
(之前叫HBuilder)。
![](
./static/playground.jpg
)
...
...
@@ -77,6 +79,20 @@ uni-app x运行时,控制台右上角可以选择开启原生日志。
目前支持真机运行、从HBuilderX 4.0起支持uts插件的debug断点。但目前还不支持uvue的断点debug。
## 发行
### App发行
uni-app x App平台,目前只能打包apk。暂不支持渠道包。不支持wgt热更新、不支持安心打包。下载到项目下的uts插件可打包含入。
## web的运行和发行
uni-app x运行到浏览器时,编译基于vite,其特点是按需编译。所以项目运行后很快能看到首页,但点击二级页时有等待延迟,因为此时正在先编译后再渲染。
这带来2个问题:
1.
运行时点击初次打开的二级页有等待过程。在一个运行的周期内,已编译过的页面再次进入时瞬间打开。
2.
运行后未点到页面由于不会被编译,其中隐藏的类型错误不可知,需在发行时查阅。
发行时会编译全部项目。因为运行时未必点全所有页面,所以发行时可能看到更多编译报错。另外发行后由于已编译过,打开二级页面时很快。
发行后的文件如果部署uniCloud的前端网页托管,记得在uniCloud的web控制台点强制刷新。
uni-app x App平台,目前只能打包apk。暂不支持渠道包。不支持wgt热更新、不支持安心打包。下载到项目下的uts插件可打包含入。
\ No newline at end of file
如果有条件的话,可以在重新部署后用各地ip访问一遍,让文件同步到各地的cdn节点,这样当地用户第一次访问时就会更快。
\ No newline at end of file
docs/uts/function.md
浏览文件 @
061e41c3
...
...
@@ -92,7 +92,7 @@ function add(x: string, y: string): void {
使用 async 关键字来声明一个异步函数,异步函数返回一个
[
Promise
](
./buildin-object-api/promise.md
)
对象。
注意:在
HBuilderX 3.93 以下的版本或者 iOS
平台,异步函数返回的不是
[
Promise
](
./buildin-object-api/promise.md
)
对象,请分别参考:
[
安卓 异步函数
](
https://uniapp.dcloud.net.cn/plugin/uts-for-android.html#_6-11-synchronized-lock-等线程同步概念-在uts里怎么写
)
、
[
iOS 异步函数
](
https://uniapp.dcloud.net.cn/plugin/uts-for-ios.html#_5-1-13-异步方法
)
。
注意:在
iOS 平台 和 HBuilderX 3.93 以下的Android
平台,异步函数返回的不是
[
Promise
](
./buildin-object-api/promise.md
)
对象,请分别参考:
[
安卓 异步函数
](
https://uniapp.dcloud.net.cn/plugin/uts-for-android.html#_6-11-synchronized-lock-等线程同步概念-在uts里怎么写
)
、
[
iOS 异步函数
](
https://uniapp.dcloud.net.cn/plugin/uts-for-ios.html#_5-1-13-异步方法
)
。
注意:异步函数在底层使用协程实现,异步函数内与异步函数外同时操作同一个对象时,由于其能并发执行,
**其操作顺序可能与预期不一致**
,会产生竞态条件与线程安全性问题。HBuilderX 3.98 版本的 uni-app x 中已进行优化,默认与框架运行在同一线程。
...
...
@@ -346,4 +346,4 @@ fn('a', 'b', 'c') // 'a' ['b', 'c']
fn
(
'
a
'
,
...[
'
b
'
,
'
c
'
])
// 'a' ['b', 'c']
```
注意:
当用在 uni-app x 中时,在
uvue 页面的 methods 中定义的方法不支持剩余参数。
注意:
在app平台,
uvue 页面的 methods 中定义的方法不支持剩余参数。
docs/web/README.md
浏览文件 @
061e41c3
...
...
@@ -2,7 +2,14 @@
> 新增于4.0版本
编译到web端时多数用法仍和编译到安卓端一致,本文档用于描述差异及需要注意的点。
uni-app x 编译到web平台时,并非是与uni-app js引擎版一致。而是基于uts的统一规范,和编译到安卓端的一致性较高。
与App版相比,web版有几个较大的差别:
1.
web版是一个spa的单页应用,而app是多页的。
2.
pages.json配置的导航栏和tabbar,在web端并非原生的,而是网页的一部分。虽然uvue页面仍然是在导航栏和tabbar之间的,但在web平台,开发者可以直接操作导航栏和tabbar的dom。
3.
web版默认有页面滚动;app没有。
本文档会介绍与web和Android的差异及注意事项。
## vue
...
...
@@ -60,16 +67,16 @@ export default {
</
script
>
```
###
其他
注意事项
### 注意事项
-
data内$开头的属性不可直接使用
`this.$xxx`
访问,需要使用
`this.$data['$xxx']`
,这是vue的规范。目前安卓端可以使用this.xxx访问是Bug而非特性,请勿使用此特性。
-
安卓端由于kotlin特性组件内部使用组件data内定义的属性时this可以省略,请勿在web端使用此特性。
-
web端
使用
`$root`
会获取应用根组件,而不是页面根组件,这点与安卓端不同
。
-
web端
由于是一个单页应用,使用
`$root`
会获取应用根组件,而不是页面根组件。而安卓端是多页应用,
`$root`
获取的是页面根组件
。
-
web端使用
`$parent`
会获取父组件(含内置组件),安卓端只会获取父级非内置组件,web端后续会调整,请勿利用此特性。
## uts
uts内编译到web端时可以使用任何ts特性。
uts内编译到web端时可以使用任何ts特性。
包括undefined、联合类型等。
### 运行时类型保留
...
...
@@ -131,7 +138,7 @@ element.style.color === 'rgb(255, 0, 0)' // true
### fixed定位
position: fixed定位时,web端为相对于整个浏览器页面进行定位,app端为相对于页面(除导航栏、tabbar)定位。可以使用
css变量
使两端表现一致
position: fixed定位时,web端为相对于整个浏览器页面进行定位,app端为相对于页面(除导航栏、tabbar)定位。可以使用
[
css变量
](
../css/README.md#variable
)
使两端表现一致
```
css
.fixed
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录