2016-08-04 35 views
1

如果您創建一個文件做出反應,但是當它到達的文本中的單引號與.js擴展,那麼GitHub的代碼高亮休息保存。保存相同的文件在.jsx工作正常。的GitHub代碼高亮陣營文件,JS擴展

參見this repo例子。文件correct-highlighting.jsxincorrect-highlighting.js都具有相同的內容。如您所見,.js語法高亮顯示錯誤。

反正是有解決這個問題,同時仍使用.jx擴展?

+0

我一直很好奇,爲什麼會有人想有一個文件,該文件是'JSX'語法'.js'擴展,有沒有好處? –

回答

2

甲稍顯麻煩的解決方案是一個VIM或emacs的模式行添加到文件中。出現您可以在JS註釋中添加它以保持源代碼有效,同時在GH上保持正確的語法格式。

https://gist.github.com/ryanjduffy/50ba7c8d8adcbe1615cb016bf799cc69

// vim: syntax=JSX 
import React from 'react'; 

export default class MyClass extends React.Component { 
    render() { 
    return (
     <a href="google.com">Let's head to google.com</a> 
    ); 
    } 
} 
1

不幸的是,你看到不正確的JSX突出,當文件具有擴展名爲.js的原因真的是因爲.jsx是不正確的JavaScript語法,所以憑藉着GitHub上具有準確的語法高亮和語言檢測寶石(Linguist)JSX語法不會正確突出顯示。

對於.js擴展純粹主義者存在此問題,因爲文本編輯器可以更改將哪些類型的文件視爲某些類型的擴展名。我認識的幾個語法高亮顯示的插件包括.js文件作爲一個有效的擴展當作.jsx,但也可以去掉,因爲如果你要運行在它自己的文件沒有反應,這顯然是行不通的。

然而,您可能會積極主動並在Linguist中歸檔(或貢獻)一個問題,並要求github將JSX語法高亮顯示擴展爲帶有.js擴展名的文件。

基於所述 Linguist readme