我有此配置为web-mode
文件启用.jsx
。
(add-to-list 'auto-mode-alist '("\\.jsx$" . web-mode))
但是当我对react文件进行.js
扩展时,这会失败。 web-mode
无法将内容类型关联为jsx
。
它说:
var
相关联web-mode-content-types-alist
可用于将文件路径与内容类型
但我不想指定文件路径。
我想使用迷你缓冲或更好的自动检测来关联内容类型。
答案 0 :(得分:1)
你可以使用
(setq web-mode-content-types-alist '(("jsx" . "/some/react/path/*\\.js[x]?\\'")))
或者,如果你不想为每个js文件检测jsx
(setq web-mode-content-types-alist '(("jsx" . "\\.js[x]?\\'")))
答案 1 :(得分:1)
你可以使用eval-expression(通常绑定到M-:)然后猛拉或输入以下表达式:
(setq web-mode-content-types-alist '(("jsx" . "\\.js[x]?\\'")))
答案 2 :(得分:1)
问题已在最新版本中修复。这将以交互方式设置内容类型:
(web-mode-set-content-type "jsx")
答案 3 :(得分:0)
以下是我使用支持网络模式的反应jsx的设置。
(require 'jsx-mode)
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . jsx-mode))
(autoload 'jsx-mode "jsx-mode" "JSX mode" t)
(custom-set-variables
'(jsx-indent-level 2)
'(jsx-cmd-options '("--add-search-path" "/path/to/search-path")))
;; add web mode indent for react jsx
(add-to-list 'auto-mode-alist '("\\.jsx\\'" . web-mode))