- Progressive Web Apps with React
- Scott Domes
- 356字
- 2021-07-08 09:36:17
Our project structure
Let’s see what this looks like in practice. In our chatastrophe project folder, create an src folder (which should be next to the public and node_modules folder in the root of the project folder).
The src folder is where all our React files will live. To illustrate what this will look like, let’s create some mock files.
Inside src, make another folder, called components. Inside that folder, let's make three JavaScript files. You can name them whatever you like, but for example purposes, I’ll call them Component1.js, Component2.js, and Component3.js.
Imagine that each of these component files holds a bit of our user interface. We need all three files to construct a complete UI. How do we import them all?
Well, we can do what we’ve done so far when we needed to use JavaScript files. We can create a script tag for each component in our index.html. That’s the brute force way.
However, as our application grows, this approach will quickly become unwieldy. An application such as Facebook, for example, will have tens of thousands of components. We can’t write tens of thousands of script tags!
Ideally, we’d have only one script tag, with all our JavaScript combined. We need a tool that takes our varied files and squishes them together, giving us the best of both worlds--organized, separated code for the developer, and compressed, optimized code for the user.
"But wait, Scott," you might say, "if we put all our code in one file, won’t that take longer for the browser to download? Isn’t it a good thing to have small, separate files?"
You're exactly right. We don’t want to go back to a monolithic single file in the end, but neither do we want thousands of separate files. We need a happy medium of a handful of code files, and we’ll get to that medium. However, to start, let’s see how we can bundle multiple JavaScript files into just one using our new friend--Webpack.
- Advanced Splunk
- Arduino by Example
- C#完全自學教程
- Visual C++實例精通
- Django:Web Development with Python
- MATLAB應用與實驗教程
- Cassandra Data Modeling and Analysis
- MySQL數據庫管理與開發(慕課版)
- R Deep Learning Cookbook
- Go并發編程實戰
- Java:High-Performance Apps with Java 9
- Java Web開發詳解
- 和孩子一起學編程:用Scratch玩Minecraft我的世界
- 企業級Java現代化:寫給開發者的云原生簡明指南
- Elastix Unified Communications Server Cookbook