Webpack

Webpack

DevOps / Build, Test, Deploy / JS Build Tools / JS Task Runners
Shared insights

I have got a small radio service running on Node.js. Front end is written with React and packed with Webpack . I use Docker for my #DeploymentWorkflow along with Docker Swarm and GitLab CI on a single Google Compute Engine instance, which is also a runner itself. Pretty unscalable decision but it works great for tiny projects. The project is available on https://fridgefm.com

READ MORE
19 upvotes·2 comments·180.5K views
RISHAB SURANA
RISHAB SURANA
·
April 11th 2021 at 4:19PM

nice project

·
Reply
Sergey Sirota
Sergey Sirota
·
April 16th 2021 at 9:52AM

That's cool! Is front end should have white tape on left?)

·
Reply
CEO at Scrayos UG (haftungsbeschränkt)·

For our internal team and collaboration panel we use Nuxt.js (with TypeScript that is transpiled into ES6), Webpack and npm. We enjoy the opinionated nature of Nuxt.js over vanilla Vue.js, as we would end up using all of the components Nuxt.js incorporates anyways and we can adhere to the conventions setup by the Nuxt.js project, which allows us to get better support in case we run into any dead ends. Webpack allows us to create reproducable builds and also debug our application with hot reloads, which greately increased the pace at which we are able to perform and test changes. We also incorporated a lot of testing (ESLint, Chai, Jasmine, Nightwatchjs) into our pipelines and can trigger those jobs through GitLab CI. All packages are fetched through npm, so that we can keep our git repositories slim and are notified of new updates aswell as reported security flaws.

READ MORE
6 upvotes·116.3K views
Shared insights
on
GitHubGitHub
at

Github Actions has been a breeze to work with. Github Actions offers a nice CI/CD service right inside the Github environment itself. It comes with tight integration with Github. Github Actions workflows are triggered based on a variety of events, such as: commit, pull request, comment...etc.

At Cereo, we serve our Webpack bundle from Amazon S3 and Amazon CloudFront. We're using Github Actions to build bundles, upload them to S3, and invalidate Cloudfront cache. Our codebase is a monorepo with multiple apps. Github Actions lets us check updates using paths so that we can limit executions. Sometimes a pull request still triggers multiple workflows, but we get to run them concurrently with Github Actions. In fact, Github Actions can run up to 20 concurrent jobs.

That being said, don't try to change your entire CI/CD solution in one afternoon. Github Actions is still new to the market. Start small and build your new shiny CI system up.

#CI #ContinuousIntegration #ContinuousDelivery

READ MORE
12 upvotes·2 comments·30.2K views
Philip Rossen
Philip Rossen
·
March 15th 2020 at 6:05PM

Cool

·
Reply
Tammy Chu
Tammy Chu
·
March 17th 2020 at 3:40AM

thanks!

·
Reply
Senior Fullstack Developer at QUANTUSflow Software GmbH·

Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

  • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
  • Vue Styleguidist as our style guide and pool of developed Vue.js components
  • Vuetify as Material Component Framework (for fast app development)
  • TypeScript as programming language
  • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
  • ESLint, TSLint and Prettier for coding style and code analyzes
  • Jest as testing framework
  • Google Fonts and Font Awesome for typography and icon toolkit
  • NativeScript-Vue for mobile development

The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

  • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
  • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
  • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
  • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
  • Large scaling. Vue.js can help to develop pretty large reusable templates.
  • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
READ MORE
20 upvotes·1 comment·795.7K views
rishabh2712
rishabh2712
·
April 25th 2020 at 6:24AM

Thanks a lot for sharing.

·
Reply
CTO at SourceLevel·

I find myself struggling trying to use a specific minified CSS file under node_modules for Milligram in Phoenix Framework using Webpack. First I thought that I need to define a resolve entry in my webpack.config.js as described in css-loader docs.

Then, I've discovered that I can simply use this Webpack notation in my manifest file (app.scss):

@import '~milligram/dist/milligram.min';

As described in docs:

To import assets from a node_modules path (include resolve.modules) and for alias, prefix it with a ~

Note that if you have other Webpack loaders, it will expand your CSS file in development mode.

READ MORE
3 upvotes·22.5K views
Jr Fullstack Developer at Stefanini Inspiring·
Needs advice
on
Vue.jsVue.js
and
Nuxt.jsNuxt.js

TL;DR: Shall I keep developing with Nuxt.js 2 and wait for a migration guide to Nuxt 3? Or start developing with Vue.js 3 using Vite, and then migrate to Nuxt 3 when it comes out?

Long version: We have an old web application running on AngularJS and Bootstrap for frontend. It is mostly a user interface to easily read and post data to our engine.

We want to redo this web application. Started from scratch using the newest version of Angular 2+ and Material Design for frontend. We haven't even finished rewriting half of the application and it is becoming dreadful to work on.

  • The cold start takes too much time
  • Every little change reload the whole page. Seconds to minutes of development lost looking at a loading blank page just changing css
  • Code maintainability is getting worse... again... as the application grows, since we must create everytime 5 files for a new page (html, component.ts, module.ts, scss, routing.ts)

I'm currently trying to code a Proof of Concept using Nuxt.js and Tailwind CSS. But the thing is, Vue.js 3 is out and has interesting features such as the composition API, teleport and fragments. Also we wish to use the Vite frontend tooling, to improve our time developing regardless of our application size. It feels like a better alternative to Webpack, which is what Nuxt 2 uses.

I'm already trying Nuxt.js with the nuxt-vite experimental module, but many nuxt modules are still incompatible from the time I'm posting this. It is also becoming cumbersome not being able to use teleport or fragments, but that can be circumvented with good components.

What I'm asking is, what should be the wisest decision: keep developing with Nuxt 2 and wait for a migration guide to Nuxt 3? Or start developing with Vue.js 3 using Vite, and then migrate to Nuxt 3 when it comes out?

READ MORE
8 upvotes·79.6K views
Replies (5)
software developer ·
Recommends
Nuxt.js

Better use the nuxt 2, and if nuxt 3 comes out.. I believe it will be easier to migrate because I believe the folder structure for nuxt 2 will also be the same as better use the nuxt 2, and if nuxt 3 comes out.. I believe it will be easier to migrate because I believe the folder structure for nuxt 2 will also be the same as the folder structure for nuxt 3.. so copy-paste folders and fix maybe s some errors, and done...

READ MORE
6 upvotes·13K views
Recommends
Vue.js
Nuxt.js

As someone who's been working in Nuxt since April 2018, I'd highly recommend to go ahead and forge ahead with Nuxt 2. All of the core fundamental hallmarks of Nuxt 2 will be present in Nuxt 3, and Composition API, teleports, etc. are all just building upon the foundation Nuxt 2 has. Same with Vue 2 to Vue 3. There's zero reason to feel pigeonholed into waiting for a release to come out. JS frameworks are always evolving, and you're going to find things that Vue 3 / Nuxt 3 simply might not be ready for that Vue 2 / Nuxt 2 have already fantastically implemented. I'd advise start building your app today and whenever Vue 3 / Nuxt 3 hits a release stage, then you can look at the migration path (which really shouldn't be that categorically complex) and decide whether there are enough performance and framework feature reasons to change. Even when you do change, it can be component by component - you don't have to change everything overnight. Better to get a head start with your app's construction than to delay and worry about which version of the tool to use to build it.

READ MORE
6 upvotes·13K views
View all (5)