React-ace: Не удалось загрузить worker TypeError: не удалось выполнить createObjectURL на «URL-адресе»: не найдено ни одной функции, соответствующей предоставленной подписи.

Созданный на 1 авг. 2017  ·  9Комментарии  ·  Источник: securingsincity/react-ace

Проблема

Я использую response-ace в своем проекте, но столкнулся с проблемой:

Could not load worker TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.
    at new WorkerClient (index.js:16800)
    at Mode.createWorker (javascript.js:1029)
    at EditSession.$startWorker (index.js:9120)
    at EditSession.$onChangeMode (index.js:9076)
    at EditSession.<anonymous> (index.js:9057)
    at AppConfig.exports.loadModule (index.js:3684)
    at EditSession.setMode (index.js:9046)
    at ReactAce.componentDidMount (ace.js:93)
    at ReactCompositeComponent.js:264
    at measureLifeCyclePerf (ReactCompositeComponent.js:75)

Эта проблема возникает только тогда, когда я использую режимы, связанные с javascript (javascript, кофе и т. Д.).

Образец кода

import AceEditor from "react-ace";
import 'brace';
import 'brace/mode/javascript';
import 'brace/theme/github';

class Test extends React.Component<any, any> {
    render() {
        <AceEditor mode="javascript" theme="github" name="name" />
    }
}

Я перепробовал все, что мог придумать. Есть кто-нибудь, кто может помочь решить эту проблему? Спасибо!

Самый полезный комментарий

Кто-нибудь знает, было ли это когда-либо зарегистрировано как проблема с Ace?

Я столкнулся с этой проблемой, но она возникает во время тестирования Mocha вместо обычного рендеринга, и возиться с веб-пакетом это не решает. :(

Все 9 Комментарий

Я решил эту проблему, которая вызвана конфигурацией в webpack.config.js.

@dynastywind не могли бы вы добавить то, что вы изменили, на случай, если другие столкнутся с этой проблемой?

@securingsincity Конечно.

У меня есть настройки ниже, прежде чем "mainFields" настроен для решения прокомментированной проблемы. На самом деле он скопирован откуда-то в Интернете. Это поле нарушает рабочую логику режимов, связанных с javascript react-ace. После того, как я удалил это поле, моя программа вернулась в нормальное состояние.

resolve: {
    extensions: ['.js', '.ts', '.tsx'],
    // Fix webpack's default behavior to not load packages with jsnext:main module
    // https://github.com/Microsoft/TypeScript/issues/11677
    mainFields: ['main']
}

@securingsincity Я столкнулся с той же проблемой. Можно ли его побороть, не изменяя webpack.config? Потому что у меня есть проект, созданный с помощью create-react-app, и мне нужно «извлечь» его, чтобы получить доступ к webpack.config.
(та же проблема есть в репозитории фигурных скобок https://github.com/thlorenz/brace/issues/54, но автор скобок сказал, что «необходимо исправить в Ace»)

Я заметил такое же предупреждающее сообщение на своей консоли, но не обнаружил никаких реальных проблем при использовании редактора response-ace. Может быть, я не использовал его достаточно тщательно, чтобы что-то заметить. Может ли кто-нибудь сказать мне, есть ли заметная проблема, связанная с этим предупреждающим сообщением?

@ hans-permana Можете ли вы использовать проверку синтаксиса в редакторе после обнаружения этого предупреждения? Я помню, что при вводе в JS-файле чего-то недопустимого не появлялось никаких сообщений об ошибке.

Просто нашел обходной путь, добавив следующий фрагмент в конфигурацию веб-пакета с https://github.com/thlorenz/brace/issues/97

resolve: {
    mainFields: ["browser", "module", "main"]
},

Кто-нибудь знает, было ли это когда-либо зарегистрировано как проблема с Ace?

Я столкнулся с этой проблемой, но она возникает во время тестирования Mocha вместо обычного рендеринга, и возиться с веб-пакетом это не решает. :(

Я столкнулся с этой проблемой, но она возникает во время тестирования Mocha вместо обычного рендеринга, и возиться с веб-пакетом это не решает. :(

удар. сталкивается с той же проблемой с jest и testing-library/react :(

Была ли эта страница полезной?
0 / 5 - 0 рейтинги