Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Velpro187
uni-app
提交
59ad1f23
U
uni-app
项目概览
Velpro187
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
59ad1f23
编写于
12月 19, 2020
作者:
W
wanganxp
提交者:
GitHub
12月 19, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update cf-functions.md
上级
0d005435
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
70 addition
and
64 deletion
+70
-64
docs/uniCloud/cf-functions.md
docs/uniCloud/cf-functions.md
+70
-64
未找到文件。
docs/uniCloud/cf-functions.md
浏览文件 @
59ad1f23
...
...
@@ -235,22 +235,28 @@ serverless默认是没有固定的服务器IP的,因为有很多服务器在
-
同一个服务空间内所有开启固定出口IP的云函数使用的是同一个IP。
-
如果你是免费版升配到付费版,开启
`固定IP`
功能后,会导致付费版到期无法自动降级到免费版,请注意按时续费
## 云函数package.json@packagejson
HBuilderX 3.0.0版本之前,package.json只是一个标准的package.json,一般来说安装依赖或公共模块才需要。HBuilderX 3.0.0及以上版本,package.json也可以用来配置云函数。
package.json是一个标准json文件,不可带注释。下面是一个package.json示例。
```
json
{
"name"
:
"add-article"
,
"version"
:
"1.0.0"
,
"description"
:
"新增文章"
,
"main"
:
"index.js"
,
"dependencies"
:
{
},
## 云函数package.json@packagejson
HBuilderX 3.0版本之前,package.json只是一个标准的package.json,一般来说安装依赖或公共模块才需要。HBuilderX 3.0及以上版本,package.json也可以用来配置云函数。
uniCloud web控制台提供了很多云函数的设置,比如内存大小、url化、定时触发等,从HBuilderX 3.0起,在云函数的package.json里也可以编写这些设置。
开发者在本地编写云函数的设置,上传云函数,这些设置会自动在云端生效。(本地不生效)
在云端设置了非默认参数后,HBuilderX下载云函数到本地时,也会自动把设置项放入package.json中下载下来。
package.json是一个标准json文件,不可带注释。下面是一个package.json示例。
```
json
{
"name"
:
"add-article"
,
"version"
:
"1.0.0"
,
"description"
:
"新增文章"
,
"main"
:
"index.js"
,
"dependencies"
:
{
},
"cloudfunction-config"
:
{
"memorySize"
:
256
,
"timeout"
:
5
,
...
...
@@ -260,13 +266,13 @@ package.json是一个标准json文件,不可带注释。下面是一个package
"config"
:
"0 0 2 1 * * *"
}],
"path"
:
""
}
}
```
cloudfunction-config字段是云函数配置,支持的配置如下
```
js
}
}
```
其中cloudfunction-config字段是云函数配置,支持的配置如下
```
js
{
"
memorySize
"
:
256
,
// 函数的最大可用内存,单位MB,可选值: 128|256|512|1024|2048,默认值256
"
timeout
"
:
5
,
// 函数的超时时间,单位秒,默认值5。最长为60秒,阿里云在定时触发时最长可以是600秒
...
...
@@ -281,37 +287,37 @@ cloudfunction-config字段是云函数配置,支持的配置如下
}],
// 云函数Url化path部分,阿里云需要以/http/开头
"
path
"
:
""
}
```
**注意**
-
在web控制台修改云函数配置后,通过HBuilderX的下载云函数菜单会在package.json内添加修改后的云函数配置
-
上传云函数时,如果项目下的package.json内包含云函数配置会同时进行云函数的配置更新
}
```
**注意**
-
插件作者在发布插件时,如果云函数有特殊设置,应该放入package.json中,然后发布到插件市场。这样就不用再通过说明文档一步一步引导用户去配置云函数定时触发器、内存、url化路径等
-
在web控制台修改云函数配置后,通过HBuilderX的下载云函数菜单会在package.json内添加修改后的云函数配置
-
上传云函数时,如果项目下的package.json内包含云函数配置会同时进行云函数的配置更新
-
package.json只有云端部署才生效,本地运行不生效。
## 使用cloudfunctions_init初始化云函数@init
自
`HBuilderX 2.9`
起
`uniCloud`
提供了
`cloudfunctions_init.json`
来方便开发者快速进行云函数的初始化操作,即在HBuilderX工具中,一次性完成所有云函数的配置。
这个功能尤其适合插件作者,不用再使用说明文档一步一步引导用户去配置云函数定时触发器、内存、url化路径等。
**注意:HBuilderX 3.0.0版本起不再使用cloudfunctions_init.json来初始化云函数**
详细调整如下:
不再使用cloudfunctions_init.json,内容被分散到每个云函数的package.json的
`cloudfunction-config`
字段下
package.json是一个标准json文件,不可带注释。下面是一个package.json示例
```
json
{
"name"
:
"add-article"
,
"version"
:
"1.0.0"
,
"description"
:
"新增文章"
,
"main"
:
"index.js"
,
"dependencies"
:
{
},
`HBuilderX 2.9`
版本,
`uniCloud`
提供了
`cloudfunctions_init.json`
来方便开发者快速进行云函数的初始化操作,即在HBuilderX工具中,一次性完成所有云函数的配置。
**注意:HBuilderX 3.0.0版本起不再使用cloudfunctions_init.json来初始化云函数。改为使用在云函数目录下通过package.json进行配置,具体见上个章节**
详细调整如下:
不再使用cloudfunctions_init.json,内容被分散到每个云函数的package.json的
`cloudfunction-config`
字段下
package.json是一个标准json文件,不可带注释。下面是一个package.json示例
```
json
{
"name"
:
"add-article"
,
"version"
:
"1.0.0"
,
"description"
:
"新增文章"
,
"main"
:
"index.js"
,
"dependencies"
:
{
},
"cloudfunction-config"
:
{
"memorySize"
:
256
,
"timeout"
:
5
,
...
...
@@ -321,13 +327,13 @@ package.json是一个标准json文件,不可带注释。下面是一个package
"config"
:
"0 0 2 1 * * *"
}],
"path"
:
""
}
}
```
cloudfunction-config说明如下
```
js
}
}
```
cloudfunction-config说明如下
```
js
{
"
memorySize
"
:
256
,
// 函数的最大可用内存,单位MB,可选值: 128|256|512|1024|2048,默认值256
"
timeout
"
:
5
,
// 函数的超时时间,单位秒,默认值5。最长为60秒,阿里云在定时触发时最长可以是600秒
...
...
@@ -342,10 +348,10 @@ cloudfunction-config说明如下
}],
// 云函数Url化path部分,阿里云需要以/http/开头
"
path
"
:
""
}
```
**HBuilderX 3.0.0之前版本,请继续阅读下面文档**
}
```
**HBuilderX 3.0.0之前版本,请继续阅读下面文档**
**使用方式**
-
在
`cloudfucntions`
目录右键即可创建
`cloudfunctions_init.json`
,
...
...
@@ -395,9 +401,9 @@ cloudfunction-config说明如下
不同云厂商的函数实例回收时间,以及优化冷启动的建议,
[
参考
](
https://uniapp.dcloud.io/uniCloud/faq?id=%e4%ba%91%e5%87%bd%e6%95%b0%e8%ae%bf%e9%97%ae%e6%97%b6%e5%bf%ab%e6%97%b6%e6%85%a2%e6%80%8e%e4%b9%88%e5%9b%9e%e4%ba%8b%ef%bc%9f
)
因为存在冷热启动的差异,云函数中的全局变量就可能出现每次不一样的情况。
因为存在冷热启动的差异,云函数中的全局变量就可能出现每次不一样的情况。
也就是云函数是无状态的。
以如下代码为例,
`count`
作为全局变量,当多次调用该云函数时,可能会出现变量累加的情况(实例未复用时,每次返回0,若实例被复用,则可能返回1、2、3等各种意外情况)
以如下代码为例,
`count`
作为全局变量,当多次调用该云函数时,可能会出现变量累加的情况(实例未复用时,每次返回0,若实例被复用,则可能返回1、2、3等各种意外情况)
。所以不要这么使用。
```
javascript
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录