JSFoo: round the year submissions
Submit talks on JavaScript and full stack engineering round the year
Submit talks on JavaScript and full stack engineering round the year
Hayden Braxton
Imagine a world where you don’t need to npm install. Imagine if new project onboarding was as simple as npm start. Imagine all developers on your team were working in the exact same, preconfigured environment, isolated from the different set up of each one’s system, all the while without node_modules installed. Furthermore, what if this environment was as close to production as possible? This might all sound like click bait, but harnessing the power of Docker and containers, we can tame our JavaScript and quell the wars we wage against npm, as we struggle to get the code running. No more “works on my machine.”
The problem
When dependencies fail us: typical solutions
All the dependencies we depend on (it’s more than you probably realize)
The solution
Create an isolated, consistent dev environment with Docker
We can avoid ever having to install node_modules locally 😮
Context
So what is Docker anyways?
What is a container?
What is an image?
Quick Docker examples for context
Demo
Our Docker image for local development
npm start ... with no node_modules 🤯
working on older versions of the app
bonus: faster CI builds
A laptop is always nice for those who want to follow along with the examples or just browse their facebook timeline during the talk. Familiarity with node package managers and a typical node.js workflow is assumed. No prior knowledge of Docker is required ... just pay close attention! Besides that, show up excited to learn about Docker, containers, and how you can mitigate your battles with npm.
Hayden Braxton is a native resident of Richmond, Virginia in the US, currently working as a software engineer for Unboxed Technology. In his free time, you will probably find him writing JavaScript, playing with Docker, hanging out with dev communities, or honing his South Indian cooking skills.
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}