Я получил ошибку при попытке создать AudioWorklet, но только когда проект обслуживается через webpack-dev-serve. Если я передаю файлы напрямую через http-сервер, все работает нормально. Поэтому я думаю, что это должно быть связано с настройкой Webpack.
Это ошибка, которую я получаю:
audio-meter.js:19 Uncaught (in promise) DOMException: Failed to construct 'AudioWorkletNode': AudioWorkletNode cannot be created: The node name 'audio-meter' is not defined in AudioWorkletGlobalScope.
at new AudioMeterNode (http://localhost:9999/bundle.js:9421:17)
at Function.create (http://localhost:9999/bundle.js:9430:16)
Я искал и есть некоторые связанные вопросы, но ни один из них не помог мне решить проблему. Один из них указывает на ошибку Chromium, но в этом случае ошибка возникает только тогда, когда проект обслуживается через Webpack (я использую плагин worker-loader):
Я настроил здесь ветку с самой упрощенной версией проекта, которую я мог, есть некоторые файлы, поэтому я думаю, что вы могли бы видеть это лучше таким образом. Чтобы получить его, пожалуйста: git clone git@bitbucket.org:alvaro_maceda/notoono.git
и git checkout stackoverflow
.
Если вы запустите его с npm start
, он будет использовать Webpack и, когда вы нажмете кнопку «Пуск», вы увидите ошибку на консоли. Если вы прокомментируете audio-meter.js: 11 и раскомментируйте audio-meter.js: 11 и index.html: 14, вы можете запустить его с помощью npm start http
, и все будет хорошо.
Может кто-нибудь дать представление о том, что искать или где может быть ошибка?