我在js中用JSX的语法写,和在JSX中用JSX的语法写,然后用webpack打包编译,都能达到同样的效果,为什么还会有一个.JSX后缀的文件.
写.VUE文件时官方造成.Vue格式它能够以Vue官方特定的组件组织规则,而.JSX文件和.JS文件所能达到的效果都一样,.JSX文件存在的意义是什么呢?
最近刚玩React,想查阅相关资料并未找到,还请Reactjs大神指点迷津,谢谢。
我在js中用JSX的语法写,和在JSX中用JSX的语法写,然后用webpack打包编译,都能达到同样的效果,为什么还会有一个.JSX后缀的文件.
写.VUE文件时官方造成.Vue格式它能够以Vue官方特定的组件组织规则,而.JSX文件和.JS文件所能达到的效果都一样,.JSX文件存在的意义是什么呢?
最近刚玩React,想查阅相关资料并未找到,还请Reactjs大神指点迷津,谢谢。
用jsx写react并不是标准的js,如果用编辑器默认的编辑模式其实会报错的.
能直接写js,是因为现在babel,可以解析这个了.然后由webpack打包处理后,.js和.jsx文件被解析打包后其实是一样的,都是es5语句,所以效果并不会有差异。
但是react的jsx语句并非js语言的标准语句(如果使用编辑器默认的js解析方案其实是会报错的,现在编辑器允许你选择不同的解析方案,比如说sublime中可以用babel解析,才使得编辑器解析带有jsx语句的js时没报错),但是后缀为.jsx,一般编辑器默认就用react的方式解析了。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
4 回答1.7k 阅读
答案是"没有"差异。
.JSX后缀的文件只是方便一眼看出里面有用JSX语法而已。对一些编辑程式或打包工具扩充来说,它们还得加上对.JSX后缀的文档的支援,多花了一些工夫,所以有些旧版的编辑程式是没法支持的。实际上打包出来后能执行的只有.JS文档。当然据说可以浏览中加载,没用过也不支持这种作法。所以看个人爽用了,我个人是不用.JSX后缀的文件的。