{"id":22485645,"url":"https://github.com/borvelt/vuejs-microfrontend","last_synced_at":"2026-05-14T22:05:28.589Z","repository":{"id":39179501,"uuid":"252149019","full_name":"borvelt/vuejs-microfrontend","owner":"borvelt","description":"Micro FrontEnd - Vue JS","archived":false,"fork":false,"pushed_at":"2023-03-04T09:42:03.000Z","size":2956,"stargazers_count":49,"open_issues_count":21,"forks_count":8,"subscribers_count":4,"default_branch":"trunk","last_synced_at":"2023-03-08T05:21:43.899Z","etag":null,"topics":["micro-frontend","vue-cli","vuejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/borvelt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-01T10:57:18.000Z","updated_at":"2023-02-27T10:42:45.000Z","dependencies_parsed_at":"2023-01-27T16:46:42.187Z","dependency_job_id":null,"html_url":"https://github.com/borvelt/vuejs-microfrontend","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borvelt%2Fvuejs-microfrontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borvelt%2Fvuejs-microfrontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borvelt%2Fvuejs-microfrontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/borvelt%2Fvuejs-microfrontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/borvelt","download_url":"https://codeload.github.com/borvelt/vuejs-microfrontend/tar.gz/refs/heads/trunk","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228499981,"owners_count":17929991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["micro-frontend","vue-cli","vuejs"],"created_at":"2024-12-06T17:12:58.276Z","updated_at":"2026-05-14T22:05:28.457Z","avatar_url":"https://github.com/borvelt.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Micro Front-End\n__This Repo has been provided for test and experimental purposes so needs more considerations for Production__\n\n## Intro\nFirst of all please read [my Medium.com article](https://medium.com/@borvelt/micro-frontend-vue-js-435d9458218c) generally about Micro Front-Ends also describes this repo in detail.\n\nPlease be informed that the ideal is that every subdirectory in this repo (`container`, `vehicles`, `vendors`) maintain or develop separately and we won't have a mono repo or something like that.\n\nAfter my recent commits, I've changed the `common` directory to `vendors`, and to makes consistency, port numbers have been changed.\n\n\tcontainer(entrypoint): 8000\n\n\tvendors: 8001\n\n\tvehicles(app): 8002\n\n\trenderer: 8888\n\n\n\n#### Vendors\nvendors app carries out our application common scripts like `axios`, `Vue`, `React`, or any other common libraries between apps.\n\n#### Container\nEntrypoint of application is here. The Container is a conjunction for other apps and has a magic file `frame.js` which will pull and up relative apps.\n\n#### Vehicles\n`vehicles` is a simple app with lazy loading. applications development should be start from here, apps will build separately and they will be joined together by Container application.\n\n## SEO\nOne of Micro Front-End concerns is SEO. search engines will not wait for rendering page's javascript and javascript will skip on the crawling process. we need to prerender our pages and present them to the crawler.\n\n#### rendertron\nI've used [rendertron](https://github.com/GoogleChrome/rendertron) which built with puppeteer, to prerendering the pages.\n\nrendertron doesn't have Dockerfile already, I've forked the project and prepared a Dockerfile, you can see [here](https://github.com/borvelt/rendertron). It has been configured to cache pages in memory and also dockerized the rendertron to render pages with pass proxy.\n\nPlease read the [rendertron docs](https://github.com/GoogleChrome/rendertron).\n\n## Dockerize \napplications have been dockerized and you can build and up with `docker-compose` or whatever you preferred.\n\nrendertron in this set-up is private and it's not accessible from out of docker-host.\n\n```bash\n$ docker-compose up\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborvelt%2Fvuejs-microfrontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fborvelt%2Fvuejs-microfrontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborvelt%2Fvuejs-microfrontend/lists"}