Comments (6)
Each component has a package.json for convenience. The import statement for the component only has to specify the directory instead of the directory and the component file.
So instead of this in Full.js:
import Header from '../../components/Header/Header';
You can do this:
import Header from '../../components/Header';
The package.json file includes a main
key:value pair that points the import to which file should be loaded by default. The version tracking might be helpful, but I don't see developers as keeping these values up-to-date. Might be better to just keep a separate component repo and tag it with version.
Without the package.json, one would would either name the component file index.js
or use the above "double name" import.
from coreui-free-react-admin-template.
Pardon me, I've come to this thread to ask a question regarding this particular way of structuring and importing components.
When I try and structure my components with a separate
package.json
file with the"main"
property referencing the path to the component's file, I always get a syntax error frombabel-loader
refusing to recognise JSX.However, when I replace the component file name within its folder as
index.js
and remove the package.json file, I can import the component using the shorthand as described above without any syntax errors whatsoever.Any idea why this happens and what I can do to avoid using multiple
index.js
s even if they're in different folders, I'd prefer having multiplepackage.json
files referencing the main file, but just can't get it to work.Thanks in advance!
I am also interested why it is happening
from coreui-free-react-admin-template.
I could be totally mistaken, but my guess would be to avoid versioning control issues. Any dependency changes for a component might break other components, so giving each component its own separate package.json makes it much easier to manage.
from coreui-free-react-admin-template.
I am curious to hear the reason behind this as well. From core devs @xidedix @mrholek
from coreui-free-react-admin-template.
Pardon me, I've come to this thread to ask a question regarding this particular way of structuring and importing components.
When I try and structure my components with a separate package.json
file with the "main"
property referencing the path to the component's file, I always get a syntax error from babel-loader
refusing to recognise JSX.
However, when I replace the component file name within its folder as index.js
and remove the package.json file, I can import the component using the shorthand as described above without any syntax errors whatsoever.
Any idea why this happens and what I can do to avoid using multiple index.js
s even if they're in different folders, I'd prefer having multiple package.json
files referencing the main file, but just can't get it to work.
Thanks in advance!
from coreui-free-react-admin-template.
Package.json files have been removed in v3 version of the template
from coreui-free-react-admin-template.
Related Issues (20)
- Pro typescript issue HOT 5
- cannot use React.useMemo HOT 1
- Tooltip position issue HOT 1
- Animation CCollapse at CSmartTable Doesn`t Work HOT 1
- npm run build failed HOT 4
- How can I put the itemsPerPageSelect to bottom of CDataTable? HOT 1
- Failed to compile on npm build HOT 2
- How to enable sidebar open by default on mobile devices? HOT 1
- React router dom v6 BrowserRouter not working on build version HOT 1
- `CNavGroup` icons not working on Coreui Free Admin Template ReactJS 4.3.0 HOT 1
- Dependency issue with "react-scripts" package HOT 1
- Modal (CModal) Closing Unexpectedly HOT 4
- Hash route not working in production mode HOT 1
- Template stops responding after a while on iPhone 12 HOT 2
- Config url # HOT 3
- Sidebar Opening and Closing Infinitely on Resizing
- Clean install. Navigation (buttons do not work). HOT 2
- can't run this dashboard
- How do I create a Logout link (with icon) at the footer of the sidebar ? (in React) HOT 3
- Charts tooltip doesn't have any style HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coreui-free-react-admin-template.