将文件命名约定为 jsx

Posted

技术标签:

【中文标题】将文件命名约定为 jsx【英文标题】:React File naming convention to jsx 【发布时间】:2017-09-28 12:31:26 【问题描述】:

我是新来的反应。最初我开始使用create-react-app。文件名默认为index.js。然后我将文件重命名为index.jsx

当我尝试使用 npm start 启动应用程序时,出现以下错误。

> react-scripts start

Could not find a required file.
  Name: index.js
  Searched in: D:\WorkSpace\React\chat\src

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "D:\\Applns\\nodejs\\node.exe" "D:\\Applns\\nodejs\\node_modules\\
npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! chat@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the chat@0.1.0 start script 'react-scripts start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the chat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:

如何解决这个问题。如何让节点获取 jsx 文件。

【问题讨论】:

【参考方案1】:

正如@KeithA 提到的 - 您需要额外的配置。在 resolve 对象中的 webpack.config.js 中:

resolve: 
 ///...some other configurations will go here ...

  extensions: [ "", ".js", ".jsx" ]
,

【讨论】:

【参考方案2】:

重命名 index.js 而不是 index.jsx 它将正常工作,因为我正在使用 create-eact-app

【讨论】:

ReactJS 组件需要在 .jsx 文件中,对吧?作为标准?【参考方案3】:

具有该扩展名的文件正在由另一个文件导入。扩展名已更改,因此查找将失败。此外,React 不需要具有 .jsx 的文件即可工作。因此,只需简单地切换文件扩展名就可以了。我从未使用过create-react-app,但如果你不想让它与.jsx 一起工作,你很可能必须在它的默认配置之上进行一些额外的配置。我会查看相关文档。

【讨论】:

ReactJS 组件需要在 .jsx 文件中,对吧?作为标准? 这不是必需的,但有些人更喜欢它。其他人则认为jsx 转换只是文件上发生的转换之一,以使其成为可以在浏览器中运行的有效 javascript,因此因此以不同的方式命名文件没有意义。无论哪种方式,我个人都没有任何强烈的感觉,但通常只使用 .js 文件,因此如果需要添加一些 jsx 语法,我不需要稍后更改它。

以上是关于将文件命名约定为 jsx的主要内容,如果未能解决你的问题,请参考以下文章

maven的使用2使用maven与pom文件

jsx编程思维

当顶层命名空间包含基类而内部命名空间包含子类时的 C# 命名空间和类/子类命名约定

大厂通用的MySQL开发规范设计,包括“存储引擎字符集 命名规则等公共约定”,“表设计约定”,“字段设计约定”,“索引设计约定”,“SQL约定”,“开发人员行为约定”

流星文件命名约定会阻止它处理?

在反应组件中导入分割的css文件