javascript - 在 Node 4.3 中使用 Buffer.from 时,TypeError Base64 不是一个函数

标签 javascript node.js buffer

我正在使用标准 Amazon 机器镜像 (linux x64) 在 Node 4.3 上本地调试 lambda 函数

当我运行该程序时,我在一个旨在将 base64 字符串解码为 utf-8 的函数中遇到错误。错误说

Unhandled rejection TypeError: base64 is not a function
    at Function.from (native)
    at Function.from (native)
    at /home/ec2-user/sass-compiler/lib/compiler.module.js:26:30

我的代码看起来很简单。我已经检查过 SO 和 node 4.3 docs我的代码似乎合规。知道我可能做错了什么吗?

template() {
        return new Promise((resolve, reject) => {
            let buf = Buffer.from(this._opts.tpl, 'base64').toString('utf-8');
            let _tpl = _.template(buf);
            resolve(_tpl(this._opts.opts));
        });
    }

编辑该程序在使用 Node LTS 6.9.5 的 Windows 10 上运行良好

最佳答案

我终于在 Stack Overflow 上找到了回答这个问题的答案。

NodeJS: How to decode base64 encoded string back to binary?

在 Node 5.3 及以下版本中,您需要使用缓冲区构造函数(即:new Buffer)而不是 Buffer.from

关于javascript - 在 Node 4.3 中使用 Buffer.from 时,TypeError Base64 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42260671/

相关文章:

javascript - 选择 htmleditor 字段文本并将其复制到剪贴板

javascript - Npm 以 Angular 启动需要很长时间

javascript - 丑化全局变量

javascript - JSON 在 nodejs 上未定义

javascript - 如何在 MongoDB 中按引用字段查询?

java - 在 Android 中快速写入大量数据到文件

java - java中BufferedOutputStream有什么好处?不是每个OutputStream都有一个缓冲区吗?

javascript - 这些是继承的属性吗?

c++ - 复制指针值c++

javascript - 照片打开后如何在照片上放置链接?