Closed MaoShizhong closed 3 weeks ago
Thank you for taking the time to make an issue. Can someone from the @TheOdinProject/javascript team, please review this issue, as well as a closely related one: https://github.com/TheOdinProject/curriculum/issues/26976
Hey @MaoShizhong
We agree that it makes sense to move the merge/modes later. With #26976 we're maybe going to explore some broad reorganization of the webpack content, and it seems like this could impact how we proceed with this issue.
Did you have any particular reason you wanted to move it to the linting lesson?
@JoshDevHub The position of the linting lesson within the course, at least at this point in time (especially now with template repos) felt like the most immediate more sensible place to me, though admittedly I haven't thought really hard about exactly where would be best and what work might be needed to slot the webpack-merge stuff in.
Reason being that point will have had you do 2 projects with webpack already, where some people will have probably found some stuff out through research and the community. The lesson name "Linting" doesn't really go well I know, but now that it includes stuff on template repos, I'm wondering how much of a lesson on "linting" alone it is...
But given that the team is in agreement about exploring a more general webpack section reorganising, I'm wondering about that again. I still don't think that webpack-merge should be introduced when webpack itself is taught first time. I think it should be introduced after at the very least one project to avoid overwhelming learners.
Perhaps in the section that teaches webpack first, the implicit mode warning can be addressed by just mentioning what modes are and saying to set "mode": "development"
for now? Then later on address it in more detail and bring up webpack-merge as a convenience tool (since that's what it is)?
So depending on exactly how people plan to reorganise the webpack section, I think this specific issue should come into play after at least one project with webpack, perhaps two. Whether that means it can be integrated into however the section gets reorganised or simply at a later lesson e.g. linting or somewhere around there, depends on those plans. I don't consider this to be an urgent change to be made though in the context of those current plans to explore that section. Thoughts?
This issue is stale because it has had no activity for the last 30 days.
Moving to backlog. This is something that'll be worked on in conjunction with the larger ESM/Webpack lesson restructuring detailed in #26976
This issue is stale because it has had no activity for the last 30 days.
Checks
Describe your suggestion
In #26381 and #26552 I ended up adding step 4 of the webpack lesson assignment which took the user through the difference between development/production mode and using
webpack-merge
to set a dev and prod config tied to their own npm scripts.Whilst this has proved convenient for some people (especially after more experience with Webpack) and has reduced the number of questions concerning the warning when no mode is specified, in hindsight, I feel it is not necessary to include that part in the Webpack lesson as it's not strictly necessary to get started with it. I feel it would be more beneficial moved to a later lesson e.g. the linting lesson (though still not 100% sure if this would the best place either?) in order to give the learner more time to use and get a feel for webpack before then introducing convenience measures.
This came about starting with this Discord discussion and keeping an eye on things since then, whilst fewer Qs about webpack mode came up, there seemed to be more confusing about webpack as a whole than needs be as people were already struggling to get to grips with the more important parts of using webpack let alone dealing with the difference between mode configs (if anything, the less unnecessary config they need to do at the start, the simpler the learning curve would be I feel).
Html-webpack-plugin
and css/style loaders I feel are the primary ones needed for straightforward workflow and understanding the roles of src/dist and should be plenty to get through restaurant page and to-do list. It just feels currently that webpack-merge and modes will serve only to overwhelm at the point they're mentioned.Thoughts?
Path
Ruby / Rails, Node / JS
Lesson Url
https://www.theodinproject.com/lessons/node-path-javascript-webpack
(Optional) Discord Name
Mao
(Optional) Additional Comments
No response