Я использую Sublime Text в качестве текстового редактора.
Есть jsFormat для форматирования файлов javascript, но я не могу найти его для JSX.
Как вы, ребята, справляетесь с форматированием JSX?
reactjs
sublimetext
react-jsx
плавник
источник
источник
Ответы:
Обновление 4
Отметьте красивее , не то, что настраивается как esformatter, но в настоящее время используется для форматирования некоторых больших проектов ( например, самого React )
Обновление 3
Проверьте возвышенный jsfmt . Если вы добавите esformatter-jsx в конфигурацию и установите пакет внутри форлдера для sublime-jsfmt. Вы сможете форматировать файлы JSX прямо из Sublime. Вот руководство для этого
Обновление 2
из командной строки вы также можете использовать esbeautifier . Это оболочка для esformatter, которая принимает список глобусов для форматирования.
# install the dependencies globally npm i -g esbeautifier # beautify the files under src/ and specs/ both .js and .jsx esbeautifier src/**/*.js* specs/**/*.js*
Обновить
В итоге я создал плагин для esformatter, чтобы включить форматирование файлов JSX:
https://www.npmjs.com/package/esformatter-jsx
Вот живая демонстрация на requirebin
Должно быть как-то возможно вызвать esformatter из Sublime, передав текущий файл в качестве аргумента. В любом случае, чтобы использовать его из командной строки, вы можете следовать этим инструкциям:
Из командной строки его можно использовать так:
# install the dependencies globally npm i -g esformatter esformatter-jsx # call it (this will print to stdout) esformatter --plugins=esformatter-jsx ./path/to/your/file # to actually modify the file esformatter --plugins=esformatter-jsx ./path/to/your/file > ./path/to/your/file # to specify a config file (where you can also specify the plugins) # check esformatter for more info about the configuration options esformatter -c ./path/to/.esformatter ./path/to/your/file > ./path/to/your/file
==== старый ответ ниже ===
Итак, если то, что вы ищете, - это просто отформатировать ваши файлы jsx, разрешив
jsx
синтаксис (в основном украсить весь синтаксис javascript и игнорироватьjsx
теги, то есть оставить их как есть), это то, что я делаю, используяesformatter
// needed for grunt.file.expand var grunt = require('grunt'); // use it with care, I haven't check if there // isn't any side effect from using proxyquire to // inject esprima-fb into the esformatter // but this type of dependency replacement // seems to be very fragile... if rocambole deps change // this will certainly break, same is true for esformatter // use it with care var proxyquire = require('proxyquire'); var rocambole = proxyquire('rocambole', { 'esprima': require('esprima-fb') }); var esformatter = proxyquire('esformatter', { rocambole: rocambole }); // path to your esformatter configuration var cfg = grunt.file.readJSON('./esformatter.json'); // expand the files from the glob var files = grunt.file.expand('./js/**/*.jsx'); // do the actual formatting files.forEach(function (fIn) { console.log('formatting', fIn); var output = esformatter.format(grunt.file.read(fIn), cfg); grunt.file.write(fIn, output); });
Я бы действительно хотел, чтобы этот esformatter использовал версию rocambole, которая использует esprima-fb вместо esprima, чтобы избежать прокси-запроса.
источник
В плагине HTML-CSS-JS Prettify есть настройка, которая позволяет игнорировать синтаксис xml в файле js / jsx. Таким образом, это не испортит код jsx. Настройка:
"e4x": true
в разделе "js" файла настроекНастройки> Настройки пакета> HTML \ CSS \ JS Prettify> Установить настройки Prettify
Это не работает, если у вас есть самозакрывающиеся теги, например. теги, оканчивающиеся на />
источник
/>
Вы можете установить пакет JsPrettier для Sublime 2 и 3. Это довольно новый модуль форматирования JavaScript (на момент написания: февраль 2017 г.). Он поддерживает большинство последних разработок, таких как ES2017, JSX и Flow.
Быстрый старт
$ npm install -g prettier
{ "keys": ["super+b"], "command": "js_prettier" }
Ссылки:
источник
Чтобы добавить к тому, что сказал @Shoobah:
Перейдите в раздел "js":
Добавьте «jsx» в «allowed_file_extension», а затем измените «e4x» на «true»
источник
ответ в Интернете, который всегда говорил, что вы устанавливаете 'e4x' в значение true, но иногда мы должны установить опцию 'format_on_save_extensions', а затем добавить 'jsx' в массив
изменить jsFormat.sublime-settings
{ "e4x": true, "format_on_save": true, "format_on_save_extensions": ["js", "json", "jsx"] }
источник
"format_on_save_extensions": ["js", "json", "jsx"]
. Ближайшее, что я нашел о расширениях файлов, это:"js": { "allowed_file_extensions": ["js", "json",...]
Используя установщик пакетов Sublime, установите Babel . Затем:
источник
Не специально для Sublime Text, но в JavaScript есть средство для украшения React JSX.
http://prettydiff.com/?m=beautify утверждает, что поддерживает JSX по адресу: http://prettydiff.com/guide/react_jsx.xhtml
источник