我正在尝试学习Node和React,我遇到了一个有趣的问题 - 在下面的import语句中,我需要显式地键入文件格式(.jsx)否则,编译器borks up并抱怨它不能找到App.js文件。
import App from './App.jsx';
注意 - App是一个jsx文件,保存为App.jsx。我使用了create-react-app作为样板代码。
答案 0 :(得分:1)
这里你的假设不正确。
如果我是对的,那么假设您的文件是.jsx
,那么您不需要在import语句中指定文件扩展名来导入.jsx
文件。
但反过来说。
如果未指定文件的扩展名,则编译器会假定它是.js
文件。所以,你所看到的行为并没有错。
或强>
如果您不想在import语句中包含扩展名,则只需创建.js
个文件。编译器会自动检测其中写的jsx
。这是欺骗import语句的最简单方法。
答案 1 :(得分:1)
另外,我在" 的行中找到了关于GitHub的更多信息。在Babel之前,.js和.jsx文件之间的区别是有用的,但它不再有用了。&# 34;
https://github.com/facebook/create-react-app/issues/87
所以,只要将它保存为.js并且我有编译ES6的babel就看起来像一个非问题。谢谢大家!
答案 2 :(得分:0)
任何javascript react片段都不会仅在.jsx文件中显示在纯.js文件中
答案 3 :(得分:0)
我建议关闭浏览器上正在运行的项目 (ctrl + c / command + c 在终端上完成运行项目)并执行 'yarn start' 或 'npm start' 再次。那么它会起作用! 当您添加 jsx、js 等新文件时,React 有时会显示错误。 我也和你有同样的问题。 (我将 App.js 更改为 App.jsx 并且发生了 webppack 错误)。 在这些情况下,重新启动项目将是解决方案!
最后你不需要指定文件扩展名(就像其他答案建议一样)。