blog.negative9.net/contents/articles/webpack-begone/index.md

77 lines
3.2 KiB
Markdown

---
title: Webpack Begone, ES6 is HERE!
author: geoff-doty
date: 2017-12-24
template: article.jade
---
I know. I know. Blasphame, but I really hate [Webpack](https://webpack.js.org/), not the idea of it but what it turned web development into - a bloated tangled mess of **headaches you don't need**.
Lets take a jaded closer look...
## Webpack Rant
[Webpack](https://webpack.js.org/) became the defacto go-to solution to get the latest [es6](http://es6-features.org) javascript language functionality into a developers pipeline via transpilers like [Babeljs](https://babeljs.io/) and support the overly bloated non-standard web component soultion as the [ReactJS](https://reactjs.org/) framework (batteries NOT included). Sure [Webpack](https://webpack.js.org/) does more or can do more, but in the end developers just want to develop with [es6](http://es6-features.org) features, **however** this was only supose to be a temporay *polyfill*, until browsers started supporting the next version of Javascript -- ES6.
**ES6 browser support is [HERE](http://kangax.github.io/compat-table/es6/)**
99% of the browsers support it, even Microsoft Edge, Safari, Chrome, Opera, Firefox...
But WebPack left us for this constant jonesing that put a permanent handycap on web developers that reminds me of those old drug commercials
"I work more, so I can do more drugs, so I can work more..."
mantra turned to become
"I work more, so I can add more configuration, so I can work more..."
Dont know about you, but tinkering around with configurations all day, and watching build processes move ever **S L O W E R** is not what I signed up for.
So...
**PULL THE ROTTING PLUG!**
Stop getting distracted by the *shiny* future that *may* never come, and focus on the here and now. **Here** and **now** is pretty awesome. We have native ES6 language support in all evergreen browsers.
No webpack.
No configuration.
No BS.
Write the code you love, and free yourself from the **headaches you dont need.**
### How Does it work
Everything starts with your `index.html` page, or what ever html page your building, and you turn your `script` includes from this
<script src="mycode.js"></script>
into this
<script type="module" src="mycode.js"></script>
and those lazy import statements you have that dont include the extension
import Code from './src/Code';
should have the extension
import Code from './src/Code.js';
and everything is right with the world and we can find peace and happiness for all developers.
So...
**WEBPACK BEGONE! ES6 IS HERE**
But I hear you screaming at the screen, **what about minification**, and ES5 support, and...
I know [WebPack]() has its uses, or rather a build process has its uses, but a lot of that can be done much simpler...simpler for any developer to understand -- like [Gulp](). A few *gulp* scripts could solve your problem, and you can break-up to operations, combine and mix and match as is important to each developer.
My biggest advocate for having a build process is for the final build, aka **PRODUCTION**, but code-by-the-hour should just work -- everywhere, as the web was designed.
**Rant Over.**