Node.JS“未捕获类型错误:util.TextEncoder 不是构造函数”

Chi*_*uri 5 javascript utf-8 node.js browserify

我已经使用 browserify 来捆绑我的 js 文件。我收到表格错误

Uncaught TypeError: util.TextEncoder is not a constructor
    at Object.1.util (bundle.js:3)
    at o (bundle.js:1)
    at r (bundle.js:1)
    at bundle.js:1
Run Code Online (Sandbox Code Playgroud)

这是我的bundle.js 的最初几行

(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
var util = require('util');
var utf8 = new util.TextEncoder();

let secretDataTxt=document.querySelector(`#SecretData`);
let passwordTxt=document.querySelector(`#Password`);
let result=document.querySelector(`#Result`);

let encryptBtn=document.querySelector(`#encrypt`);
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个错误吗?

编辑:这是一个工作示例

const util = require('util');
const utf8 = new util.TextEncoder();

console.log(utf8.encode("Hello"));
Run Code Online (Sandbox Code Playgroud)

输出:Uint8Array(5) [ 72, 101, 108, 108, 111 ]

小智 3

尝试运行npm install text-encoding

并将此代码粘贴到出现错误的位置:

const TextEncodingPolyfill = require('text-encoding');
Object.assign(global, {
  TextEncoder: TextEncodingPolyfill.TextEncoder,
  TextDecoder: TextEncodingPolyfill.TextDecoder,
});


const encoder = new TextEncoder();
const decoder = new TextDecoder();
Run Code Online (Sandbox Code Playgroud)