Closed
Description
Description
I have an app with this folder structure :
src
├── App
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.js
│ └── logo.svg
├── index.css
├── index.js
Inside the index.js file, I have this line :
import App from './App
Which causes this error :
Failed to compile.
Error in ./src/index.js
Module not found: [CaseSensitivePathsPlugin] `/home/benoit/Development/react-spring-template/client/src/App.js` does not match the corresponding path on disk - File does not exist.
When I add a /
at the end of the path, then it works.
import App from './App
Is there a reason why the folder import doesn't work without a trailing slash, or is this a bug ?
Expected behavior
I should be able to import something from the index.js
file of a subfolder without putting a trailing slash at the end of the folder.
Actual behavior
I need to put a trailing slash at the end of the import
statement if it's a folder.
Environment
Run these commands in the project folder and fill in their results:
npm ls react-scripts
(if you haven’t ejected):
npm ls react-scripts
client@0.1.0 /home/benoit/Development/react-spring-template/client
└── react-scripts@0.8.1
node -v
:
v7.2.0
npm -v
:
4.0.2
Then, specify:
- Operating system: Archlinux
- Browser and version: Chrome
Activity
gaearon commentedon Dec 5, 2016
Can you consistently reproduce this, after stopping and starting the development server again?
BenoitAverty commentedon Dec 5, 2016
Oh wow, that was the problem. Sorry about that, I didn't think of that.
gaearon commentedon Dec 5, 2016
No worries. This is kinda weird—my guess is that it remembers that it couldn't find the file with that exact name, and later gives up searching for it again. Not very good so if you find an easy way to reproduce this step by step (e.g. create a file with some name, then add an import with some form) and it always happens, maybe we should file a bug in one of the upstream projects. Please let me know!
BenoitAverty commentedon Dec 6, 2016
Ok so i've successfully reproduced, it's very easy in fact.
create-react-app test-failing-import
cd test-failing-import && yarn run start
App
component and its dependencies in a subfoldermv App.* logo.svg App/
index.js
to./App/
or./App/index
and the error goes away.If I get some more time i'll try to reproduce with webpack-dev-server without react but it may be specific to a particular setting that's use in create-react-app.
[-]Cannot import a module with "index.js" inside a subfolder[/-][+]Watcher doesn't see a new file called "index.js" inside a subfolder[/+]lixiaoyan commentedon Jan 4, 2017
same here, i can reproduce this problem with my own webpack config.
so i think this is a bug of webpack rather than create-react-app.
gaearon commentedon Jan 4, 2017
Yes, it's a Webpack bug. We are keeping the issue open because it affects CRA experience and ideally we'd like to remember to come back to this at some point and figure out a solution. If you'd like to help please let us know!
mileung commentedon Mar 7, 2017
Any progress on this issue?
8 remaining items