ΠΡΠΈΠ²Π΅Ρ, ΡΠ΅Π±ΡΡΠ°, Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² react-ace, ΠΊΡΡΠ°ΡΠΈ, ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ.
Π£ ΠΌΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ Π½ΡΠ±ΡΠΊΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ, Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΠ» ΠΏΡΠΎΠ΅ΠΊΡ Ρ https://github.com/react-boilerplate/react-boilerplate , Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ response-ace, ΠΈ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
_mode-mode.js:1 Uncaught SyntaxError: Unexpected token <_
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ webpack ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ? Π Π΅Π±ΡΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ?
ΠΠΎΡ ΠΊΠ°ΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ react-ace:
import React, { Component } from 'react';
import AceEditor from 'react-ace';
import messages from './messages';
import 'brace/theme/github';
export default class HomePage extends Component { // eslint-disable-line react/prefer-stateless-function
render() {
return (
<div>
<AceEditor
mode=""
theme="github"
onChange={() => null}
name="UNIQUE_ID_OF_DIV"
editorProps={{ $blockScrolling: true }}
/>
</div>
);
}
}
@henviso, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΠΆΠΈΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ readme https://github.com/securingsincity/react-ace#basic -usage.
ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΉ, ΠΈ Ρ Π·Π°ΡΠ²Π»ΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΈΠΌΠΏΠΎΡΡΠ΅. ΠΡΠΎ ΠΌΠΎΠΉ ΠΊΠΎΠ΄:
import AceEditor from 'react-ace'
import 'brace/mode/python'
import 'brace/theme/monokai'
// ...
<AceEditor
name="ACE_EDITOR"
value={this.props.value}
mode="python"
theme="monokai"
/>
Π’ΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅Ρ:
Uncaught SyntaxError: Unexpected token <
python.js: 1
Π Π΅ΡΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΊ ΡΡΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΌΡ Π½Π° /snippets/python.js
, ΠΎΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΌΠΎΠΉ index.html
ΠΡΠ°ΠΊ, Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² webpack, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ JS ( /brace/snippets/python.js
) Π² ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ copy-webpack-plugin
.
ΠΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?
@fbove ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ import brace from 'brace';
ΠΏΠΎΠ²Π΅ΡΡ
ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈ ΡΠ΅ΠΌΡ.
ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΌΠ΅Π½Ρ.
@fbove Ρ ΠΌΠ΅Π½Ρ ΡΠΎΡ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡ, ΠΈ Ρ Π½Π΅ Ρ ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅ΠΊΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ οΌ ΠΊΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ
Π― ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ import brace from 'brace';
Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΡ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΡ
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ ΠΈΠΌΠΏΠΎΡΡ Β«ΡΠΊΠΎΠ±ΠΎΠΊΒ» Ρ ΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ°ΡΠ΅Π» ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ AceEditor
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
@henviso, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΠΆΠΈΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ readme https://github.com/securingsincity/react-ace#basic -usage.