-
Notifications
You must be signed in to change notification settings - Fork 13.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ES6 Modules: Rewrite lesson (alongside separate PR for Webpack rewrite) #27953
ES6 Modules: Rewrite lesson (alongside separate PR for Webpack rewrite) #27953
Conversation
Use ESM abbreviation in main text after first full mention.
Now uses AE spelling instead of BE.
Since we're working together on this, I'm tagging you here @advait0603 because I can only select team members in the review request list. For you and @wise-king-sullyman (since you were also part of the original discussion leading to this work), please do feel free to leave review comments here whenever you have any time to do so. This PR is set as a draft just as the whole work is of course still in process, but reviews are welcome as we go along. |
Co-authored-by: advait0603 <[email protected]>
Introducing named exports first allowed for a subjectively more natural flow to introducing the concepts. Named exports felt easier to introduce first, while default exports felt easier to introduce by comparing to named exports.
Co-authored-by: advait0603 <[email protected]>
I've extended the dependency graph bit with some 3-file examples just because I felt having the lesson only deal with 2 files might still leave some questions about what imports where and what an entry point is in more complex projects that will definitely have more than 2 files. If it's felt this is definitely too much and the 2-file example alone would be significantly better, please let me know. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking awesome, absolutely great work on this 🔥 🚀 ⭐
A few small requests and discussion points:
Import/export syntax to be taught first, then the examples can be used to explain entry points more clearly.
Had a crack at separating npm to its own lesson to follow the ESM lesson. The nice thing's that the separate lesson allows for a little more expansion on I left CJS at the end of ESM as it's not a big mention but an important one nonetheless, and I felt far more closely related to the ESM lesson's contents than the npm lesson's. Also note that for now, I'm leaving npm scripts in the "Revisiting Webpack" lesson in #27962. The current justification is that the practical use cases of npm scripts might be more obvious after the Webpack tutorial and especially Restaurant Page project (particularly with the long deployment command). That gave me the perfect situation to refer to when introducing npm scripts. I could put it in this new npm lesson, but I feel there wouldn't be as good of an example of scripts that learners could actually relate to. Removing it from "Revisiting Webpack" would make it super short though, and I like the current length. Thoughts? |
npm contents separated from ES6 Modules lesson as requested in TheOdinProject/curriculum#27953
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I LOVE it! Really awesome work on this!
🚀 |
Node.js is more accurate.
Because
The current Webpack lesson is a known pain point in the curriculum journey, primarily due to the sudden increase in complexity and steps of tooling, coupled with how much of the learning is left to external resources. These external resources limit the cohesiveness of teaching material, and can prove troublesome in the learning process when each resource includes a few unnecessary tidbits that can easily throw learners off (such as multiple entry points in the webpack official guides when learning about html-webpack-plugin). They also are frequently aimed at people who may know a little more about bundlers already, or are following a different course/tutorial. Thus, things often feel disjointed with the TOP curriculum.
While improving the Webpack lesson itself is the primary focus, it was also identified that the preceding ES6 modules lesson is fairly coupled with it, as Webpack and bundlers are introduced there instead of the Webpack lesson.
The order of the ES6 modules lesson was also identified as a little odd, and the order and flow could be improved by focusing on ES6 modules as a primary topic straight away, then introducing bundlers and Webpack in their own separate lesson.
General plan:
This PR
Issue
Closes #26976
Closes #26977
Additional Information
This will be something to merge alongside 3 other PRs:
Pull Request Requirements
location of change: brief description of change
format, e.g.Intro to HTML and CSS lesson: Fix link text
Because
section summarizes the reason for this PRThis PR
section has a bullet point list describing the changes in this PRIssue
section