2016-08-04 121 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