将wav格式转mp3,使用到lamejs ,npm安装,import导入后会报错MPEGMode is not defined,这时需要根据提示修改lamejs库代码
安装patch-package
yarn add --dev patch-package postinstall-postinstall
package.json文件scripts内添加命令
"scripts": {
"postinstall": "patch-package"
},
修改lamejs内代码
Lame.js:29行
Encoder.js:112行
PsyModel.js:162行
插入代码 var MPEGMode = require('./MPEGMode.js');
BitStream.js:33行
Presets.js:18行
插入代码 var Lame = require('./Lame.js');
QuantizePVT.js:54行
插入代码 var BitStream = require('./BitStream.js');
插入代码后,需要使用patch-package打个补丁
yarn patch-package lamejs
rm -rf node_modules
yarn
重启项目,包内修改内容已经全部更新,lamejs也不会报错了。若根据操作还报错,需要打开控制台查看错误信息,点入到resource里,查看标红的代码,然后将下面代码中匹配标红的错误,插入相应位置
var Lame = require('./Lame.js');
var Presets = require('./Presets.js');
var GainAnalysis = require('./GainAnalysis.js');
var QuantizePVT = require('./QuantizePVT.js');
var Quantize = require('./Quantize.js');
var Takehiro = require('./Takehiro.js');
var Reservoir = require('./Reservoir.js');
var MPEGMode = require('./MPEGMode.js');
var BitStream = require('./BitStream.js');
var Encoder = require('./Encoder.js');
var Version = require('./Version.js');
var VBRTag = require('./VBRTag.js');