---
title: "How to use JavaScript modules on the web"
publication: "JavaScript Weekly"
issue: 391
published_at: "2018-06-22"
canonical_url: "https://javascriptweekly.com/issues/391"
---

This week's JavaScript news       

#391 — June 22, 2018 

[Read on the Web](https://javascriptweekly.com/issues/391)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/htbubqjomlv7ov4muket.jpg)](https://developers.google.com/web/fundamentals/primers/modules)  

[Using JavaScript Modules on the Web](https://developers.google.com/web/fundamentals/primers/modules) — Node [supports](https://blog.sourcerer.io/complete-introduction-to-async-functions-and-es6-modules-in-node-js-9f59887ba531) ES modules, Firefox 60 [supports](https://bugzilla.mozilla.org/show_bug.cgi?id=1438139) ES modules, indeed [most browsers do](https://caniuse.com/#feat=es6-module) so you might enjoy this Chrome-themed explanation of what they are, how to use them in the browser, and how to keep them fast. 

Addy Osmani and Mathias Bynens   

[A Minimal Guide to ECMAScript Decorators](https://itnext.io/a-minimal-guide-to-ecmascript-decorators-55b70338215e) — Decorators, which would provide a handy syntax to mutate functions or classes, are currently at stage 2 of TC39’s process, but how are they likely to work? 

Uday Hiwarale   [![\](https://copm.s3.amazonaws.com/f5ce5c45.png)](https://circleci.com/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=june18&utm_content=javascript-weekly) 

[See Why Facebook, Spotify, & fastlane Trust CircleCI with Their CI/CD](https://circleci.com/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=june18&utm_content=javascript-weekly) — Automate the software development process using continuous integration and continuous delivery so you can focus on what matters: building great things, not waiting for great things to build. 

CircleCI sponsor   

[Billboard.js 1.5 Released: Easy JS Charts](https://medium.com/@alberto.park/billboard-js-1-5-0-released-today-920c82864637) — A chart library that uses [D3](https://d3js.org/) under the hood. This release adds a new ‘radar’ chart, improved text positioning and clipping, bug fixes, etc. 

Jae Sung Park   

▶[The Cost of JavaScript](https://www.youtube.com/watch?v=63I-mEuSvGA) — In just 20 minutes Addy Osmani covers approaches to delivering JavaScript in an efficient way to ensure your users experiences are as seamless and smooth as possible. 

Addy Osmani   

[Node 10.5 Released with Experimental Worker Threads Support](https://nodejs.org/en/blog/release/v10.5.0/) — Interested in the multi-threading? Check the [FAQ](https://gist.github.com/benjamingr/3d5e86e2fb8ae4abe2ab98ffe4758665) and [this pull request with example usage](https://github.com/nodejs/node/pull/20876). 

Node.js Foundation   

[V8 Release V6.8](https://v8project.blogspot.com/2018/06/v8-release-68.html) — 6.8 is now in beta and will be going mainstream with next month’s Chrome 68. Nothing huge feature-wise but some minor memory and performance improvements. 

Mathias Bynens   

[Github Stars !== Usage: React Still More Popular than Vue](https://zendev.com/2018/06/19/react-usage-beating-vue-angular.html) — Last week there was a fun community story around Vue.js getting more stars on GitHub than React, but while Vue is growing fast, React still dominates in actual usage. 

Kevin Ball  

💻 Jobs  

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js-weekly-q4-18) — We help our developers keep learning and growing every day. Unleash your potential. Work from anywhere. [Join X-Team](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js-weekly-q4-18). 

x-team   

[Senior Front End Developer (Charlotte, NC)](https://www.redventures.com/careers/position/976736?gh_jid=976736&gh_src=5ab97ce71) — Bring your skills to create, code and optimize websites & user experiences for some of the biggest brands in the US. Join us at RV. 

Red Ventures   

[Have You Tried Vettery?](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-42051) — Vettery matches top tech talent with fast-growing companies. Take a few minutes to join our platform. 

Vettery  

📘 Tutorials and Opinions  

[Building a RSS Viewer with Vue.js](https://css-tricks.com/building-a-rss-viewer-with-vue-part-1/) 

Raymond Camden   

[The Trouble with D3?](https://medium.com/dailyjs/the-trouble-with-d3-4a84f7de011f) — D3 is phenomenally powerful, but requires you have a grasp of many concepts to use it well. 

Ian Johnson   

[Writing Your Own ESLint Plugin](https://frontendmayhem.com/writing-your-own-eslint-plugins/) — Handy for if you or your company have specific code conventions or preferences you want to enforce. 

Watandeep Sekhon   

[Why Do JavaScript Test Frameworks Use describe() and beforeEach()?](https://www.bignerdranch.com/blog/why-do-javascript-test-frameworks-use-describe-and-beforeeach/?utm_source=JavascriptWeekly&utm_medium=Blogs&utm_campaign=2018_06_CooperPress&utm_term=SponsoredAd) — Check out our detailed blog based on the State of JavaScript Survey. Helpful links for intermediate to advanced developers. 

Big Nerd Ranch sponsor   

[Why 'Mapping' a Constructed Array Doesn't Work in JavaScript](https://itnext.io/heres-why-mapping-a-constructed-array-doesn-t-work-in-javascript-f1195138615a) — And a way around the issue. 

Shawn Reisner   

[The Internals of Shadow DOM and How to Build Self-Contained Components](https://blog.sessionstack.com/how-javascript-works-the-internals-of-shadow-dom-how-to-build-self-contained-components-244331c4de6e) — A basic introduction to building Web Components. 

Alexander Zlatkov   

[Build a Single Page App from Scratch Without a Framework](https://www.sitepoint.com/single-page-app-without-framework/) — Using jQuery (yes!), Handlebars, Express and Axios. 

Michael Wanyoike   

[Building A Serverless Slack Bot using Cloudflare Workers and JavaScript](https://blog.cloudflare.com/building-a-serverless-slack-bot-using-cloudflare-workers/) — _Workers_ is a serverless/edge-computing platform Cloudflare operates. 

Rita Kozlov (Cloudflare)   

[Build a Custom App for Slack](https://api.slack.com/?utm_source=jsweekly&utm_medium=newsletter) 

Slack sponsor   

[How To Build Dynamic Components in Angular 6](https://blog.bitsrc.io/how-to-build-dynamic-components-in-angular-6-41f50abddc64) 

Rajat S   

[Implementing an Infinite Scroll with Vue.js](https://alligator.io/vuejs/implementing-infinite-scroll/) 

Dave Berning  

🔧 Code and Tools  

[Material Dashboard: A Bootstrap 4 Material Design Admin Dashboard](https://github.com/creativetimofficial/material-dashboard) — Comes in plain HTML, React, Vue, and Angular varieties. [Demo.](https://demos.creative-tim.com/material-dashboard/examples/dashboard.html) 

Creative Tim   

[Introducing Akita: A New State Management Pattern for Angular Apps](https://netbasal.com/introducing-akita-a-new-state-management-pattern-for-angular-applications-f2f0fab5a8) — Built on top of RxJS. 

Netanel Basal   

[Realtime. Real Simple](https://www.pubnub.com/javascript-weekly/?utm_source=OnlineAdvertisement&utm_medium=CooperPress-JavaScript-Weekly&utm_campaign=OE-CY18-Q2-Cooper-Press-JavaScript-Weekly-June-22) — Build and scale interactive, immersive apps with PubNub - chat, collaboration, geolocation, device control and gaming. 

PubNub sponsor   

[number-flip: Increase a Count/Number with a Flipping Animation](https://github.com/gaoryrt/number-flip) 

日天   

[Phoenix: A macOS Window and App Manager Scriptable with JavaScript](https://github.com/kasper/phoenix/) — Written in Objective C, but you can create scripts [like this](https://github.com/garrow/phoenix-configurations/blob/master/phizeup/phizeup.js) with JavaScript. 

Kasper Hirvikoski   

[Sprite.js: A Cross-Platform Lightweight 2D Render Object Model](https://github.com/spritejs/spritejs) 

Akira Wu   

[Electron 3.0.0 Beta 1 Release](https://electronjs.org/releases#3.0.0-beta.1) — Significant due to the dependency upgrades (Chrome from 61 to 66, Node from 8 to 10, V8 from 6.1 to 6.6). 

Electron         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
