A execução de editor.setTheme('libs/ace/theme/twilight')
procurará theme-twilight.js
na pasta raiz.
Tentei consultar a documentação sem encontrar ajuda.
Além disso, os trabalhadores são obrigatórios para algum idioma ou existe uma opção para desativá-los?
Novamente, não encontrei solução para isso nos documentos.
Depois de procurar por um bom tempo, encontrei estes dois:
ace.config.set('basePath', '/libs/ace');
editor.getSession().setUseWorker(false);
Você é um herói, precisava daquela propriedade basePath e estava procurando há dias. Obrigada.
Para referência futura, este é um exemplo completo (modelado após o exemplo de incorporação no site oficial do ace) para ter ace.js em outro lugar (eu o concatenei em um libs.min.js):
<script src="libs.min.js" type="text/javascript" charset="utf-8"></script>
<script>
ace.config.set('basePath', '/ace-builds/src-noconflict');
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
</script>
Para qualquer um que luta para fazer isso funcionar em ambientes de produção, descobri que não apenas definir basePath
, mas também definir modePath
e themePath
às vezes são necessários para os modos de carregamento e temas:
ace.config.set('basePath', '/ace-builds/src-noconflict');
ace.config.set('modePath', '/ace-builds/src-noconflict');
ace.config.set('themePath', '/ace-builds/src-noconflict');
@efatsi Você pode compartilhar comigo como podemos fazer o projeto angular 6 com https://github.com/fxmontigny/ng2-ace-editor . Eu também estou enfrentando o mesmo problema.
Desculpe @PrabakarKaruppasamy , não tenho nenhuma experiência angular. boa sorte!
@PrabakarKaruppasamy - você conseguiu fazer funcionar, cara? Qualquer alteração que você pode consultar em https://stackoverflow.com/questions/60177855/theme-and-mode-path-infer-issue-with-ace-js-and-angular
Comentários muito úteis
Depois de procurar por um bom tempo, encontrei estes dois:
ace.config.set('basePath', '/libs/ace');
editor.getSession().setUseWorker(false);