Я создал код, который действительно работает, но я вызываю библиотеку с ошибкой, и я хотел бы знать, возможно ли избежать этой указанной c строки кода. Я постараюсь объяснить случай как можно лучше:
Ошибка
Uncaught TypeError: fs.openSyn c не является функцией
Предыдущий код
function synthesizeToAudioFile(authorizationToken, message) {
// replace with your own subscription key,
// service region (e.g., "westus"), and
// the name of the file you save the synthesized audio.
var serviceRegion = "westus"; // e.g., "westus"
var filename = "./audiocue.wav";
//Use token.Otherwise use the provided subscription key
var audioConfig, speechConfig;
audioConfig = SpeechSDK.AudioConfig.fromAudioFileOutput(filename);
speechConfig = SpeechSDK.SpeechConfig.fromAuthorizationToken(authorizationToken, serviceRegion);
// create the speech synthesizer.
var synthesizer = new SpeechSDK.SpeechSynthesizer(speechConfig, audioConfig);
// start the synthesizer and wait for a result.
synthesizer.speakTextAsync(message,
function (result) {
if (result.reason === SpeechSDK.ResultReason.SynthesizingAudioCompleted) {
console.log("synthesis finished.");
} else {
console.error("Speech synthesis canceled, " + result.errorDetails +
"\nDid you update the subscription info?");
}
synthesizer.close();
synthesizer = undefined;
},
function (err) {
console.trace("err - " + err);
synthesizer.close();
synthesizer = undefined;
});
console.log("Now synthesizing to: " + filename);
}
Я создал метод, который позже повторил в своем текущем коде. Разница была в том, что я использовал Browserify
для импорта библиотеки из script
файла HTML
:
<script type="text/javascript" src="js/dist/sub_mqtt.js"></script>
В этом файле был мой метод и вся библиотека, которая это безумно нечитаемо, и поэтому я начал использовать ScriptJS
для его импорта. Проблема в том, что, используя browserify
, я смог удалить строку кода, которую он терпел неудачу, используя fs.openSync
(и мне даже не нужно), но, импортировав его с ScriptJS
, я не имею доступа к исходный код.
Я предполагаю, что не хватает того, что я не импортирую библиотеку fs
, которая используется библиотекой, которую я импортирую с ScriptJS
, перед импортом этой, но как это сделать? Я делаю это? Я попытался:
<script src="../text-to-speech/node_modules/fs.realpath/index.js"></script>
или
<script type="text/javascript" src="../text-to-speech/node_modules/fs.realpath/index.js"></script>
, а также обернуть содержимое synthesizeToAudioFile()
с
require(["node_modules/fs.realpath/index.js"], function (fs) { });
, но я получаю следующую ошибку:
Uncaught ReferenceError: модуль не определен в индексе. js: 1