【函数计算实践】nodejs 初探示例——本地 mac 环境
系列文章:
前言
前面提到过阿里云上的函数计算应用。支持的语言包括 nodejs、python、java 等等。但 java 打包相对比较麻烦而且体积较大,所以更倾向于推荐 nodejs 来编写执行函数。所以,下面介绍一些基础功能的实现,这也是在上述案例中所使用到的。
一 背景
nodejs 的下载和安装由于不是本文重点,故不再赘述,网络正常的情况下,基本都可以顺利安装。有问题可在评论区留言,一起探讨解决方案。
直接从官网:https://nodejs.org/en/download/ 下载 mac 64 位版本,对应的是 node-v14.15.3.pkg 版本安装包。
安装后开始执行第一个示例,项目需求将需要的几个功能:1、图片内容获取,2、内容转 base64、计算 md5
二 依赖包
2.1 request
设计为进行 http 调用的最简单方法。它支持 HTTPS,默认情况下遵循重定向。
2.2 crypto
提供通用的加密和哈希算法。用纯 JavaScript 代码实现这些功能不是不可能,但速度会非常慢。Nodejs 用 C/C++实现这些算法后,通过 cypto 这个模块暴露为 JavaScript 接口,这样用起来方便,运行速度也快。
三 示例
注:文本保存为 cal_img_similar.js,在命令行执行 node cal_img_similar.js 即可。
3.1 字符串转 Base64 示例代码
注意:在有些文章,搜到的是使用 new Buffer(ss);语句来创建 Buffer,但现在执行会导致报错:
(node:15386) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
即 Buffer()方法,已经被废弃。所以我们使用 Buffer.from(ss)进行转换。
3.2 字符串计算 md5
3.3 获取图片内容
输出内容如下:
可见,直接输出字符(流)会是乱码,所以通常我们会进行 base64 或 计算 md5 转换。处理如下:
版权声明: 本文为 InfoQ 作者【程序员架构进阶】的原创文章。
原文链接:【http://xie.infoq.cn/article/6f31c97953a328e9ed944d9a3】。文章转载请联系作者。
评论