mevn-cli

授权协议 MIT License
开发语言 JavaScript
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 鲜于喜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Light speed setup for MEVN stack based web-apps

Buy Me a Coffee


Chat: Telegram

Donate: PayPal, Open Collective, Patreon

A CLI tool for getting started with the MEVN stack. The acronym “MEVN” stands for “MongoDB Express.js VueJS Node.js”. It offers a super-simple boilerplate template and additional utilities for building a MEVN stack-based webapp. It takes away the hassle of setting up the local development environment which may become a nightmare especially for beginners who are just starting.

Installation

Prerequisites

  • npm is a package manager for the JavaScript programming language.
  • node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
  • git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development.

Quickstart

npm install -g mevn-cli
mevn init <appname>

Available Commands

MEVN-CLI offers the following set of commands:-

command description
mevn init <appname> Scaffolds a MEVN stack project in the current path
mevn serve Serves the client/server side template locally
mevn add [deps] [--dev] Adds additional dependencies as required on the go
mevn generate Generates component files for the client and CRUD boilerplate template for the server based on MVC architecture
mevn codesplit Lazy load components as required
mevn dockerize Serves the webapp as multi-container Docker applications
mevn deploy Deploys the webapp to a cloud service of choice
mevn info Prints debugging information about the local environment

Features

  • It allows Developers to build webapps with ease in which all the local environment setup is being taken care of. All they have to do is to focus on writing actual code.
  • The whole project is done in modules(thanks to ES6 syntax) which enhances user readability and leads to compact code.
  • MEVN-CLI simplifies developer workflow by generating the required boilerplate and automating redundant tasks.

Contributing

Before contributing a change to this repository, please first discuss the change you wish to make via issue, or any other method with the owners of this repository . Take a look at the Contributing Guidelines to get a better picture regarding the codebase and project structure.

How do I contribute?

  1. Ensure you have no "dummy" files left, if you do then add them to the bottom of .gitignore.
  2. Fork and clone our repository.
  3. Make your life-changing changes.
  4. Run npm run build which generates a lib directory with the transpiled es5 code.
  5. Type in npm link to test everything works fine. (Now you've access to the mevn root-command.)
  6. Run tests locally before commiting with npm test. (If you're having issues running tests locally, then you can commit and use GitHub actions ci in your own fork. All tests should pass.)
  7. Commit and push your changes.
  8. Make a detailed pull request.

npm link creates a symlink in the global folder making the mevn command globally available within your local development environment

Why should I contribute?

Contributing helps people and simply makes the world a better place, Without contributors this project would cease to exist.

How should I write a commit message?

This project uses Commitlint to check if the commit messages meet the conventional commit format.The full pattern is:

type(scope?): subject #scope is optional

body? #body is optional

footer? #footer is optional

Following that pattern, your commit messages should look like these:

feat: activate open collective
chore: correct typo

It should be "guest" and not "gest"
refactor(cli): drop support for node 6

BREAKING CHANGE: you will need to update your node version to keep using this CLI
This closes #123

What if I cannot code or do not like it?

You can always write documentation, most repositories lack in it.

What is next?

Nothing! You're done and ready to get coding!

Versioning And Help

option description
-V, --version Check CLI version
-h, --help Get help and check usage

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

  • MEVN 架构(MongoDB + Express + Vue + NODEJS)制作网站 MEVN 架构是 MongoDB + Express + Vue + NODEJS 搭建的网站架构。四个部分都可以用JavaScript实现。 一个完整的网站服务架构包括web frame, web server, Database, 以及前端展示实现。这里有一篇知乎答案,讲一个网站的整个访问流程,讲的很清

  • cli 1. cli是什么? cli是vue提供的一个快速(自动化) 构建项目的一个脚手架 ,类似于我们之前所用的 express-generator cli的版本 目前最新 3.x 老版本是 2.x cli的底层的自动化工具是: webpack cli的安装 npm/cnpm/yarn 都可以使用 $ yarn add @vue/cli global 这个是cli3的版本 如果我们还想使用cli

  • 1. 什么是Vue CLI 如果只是简单写几个Vue的Demo程序, 那么不需要Vue CLI 如果你在开发大型项目, 那么你需要, 并且必然需要使用Vue CLI 使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。如果每个项目都要手动完成这些工作,那无以效率比较低效,所以通常我们会使用一些脚手架工具来帮助完成这些事情。 CLI是什么意思? CL

 相关资料
  • MEVN Stack A Quickstart template for building a fullstack using: Node Express MongoDB VueJS Vuetify as a Vue Component Framework The application consists of an Express REST API that is consumed by a V

  • 问题内容: 我经常不得不调试编写的Java代码,以便有一个接口和该接口的一个实现。 例如,将有一个接口Foo,其中有一个名为FooImpl的实现。在下面的代码中,如果我按住ctrl键单击doThings,则当我实际要转到FooImpl.java来查看实现时,它将跳至Foo.java。 当我结束界面时,必须使用ctrl-shift-r打开FooImpl。如果我可以按一下ctrl- alt并单击doT

  • 问题内容: 首先,我不是要在这里发动战争。我非常了解Jersey,但是很少使用httpclient。 jersey-client和Apache的httpclient之间的主要区别是什么?在哪些方面比另一方面更好?哪里有比较好的图表?较大的文件(例如2048 MB)中,哪一个效果更好? 非常感谢您的评论! 问题答案: 这两件事可能不应该直接比较。Jersey是REST客户端,具有完整的JAX-RS实

  • 问题内容: 我的应用程序中有两个表。左表就像一个列表。单击左表将打开一个右表,其中包含基于我单击左表的字段的值。 现在的问题是,如果我在右表中编辑一个单元格,而不按Enter键并单击左表中的新项目,则所有表中的特定单元格都处于可编辑模式。以及所有表格的单元格值。 我该如何解决这个问题? 问题答案: 不能完全肯定,我明白你的感受VS你所期望的,但表的默认行为是有点出乎意料的是,当焦点转到表外的某个地

  • 问题内容: 如何使用google-api-java-client解析用户Google日历中事件的开始和结束时间? 从Google代码安装此示例android项目后,我可以进入Google日历并解析一些信息(例如所有日历,事件名称,发布时间和摘要),但是我无法终生获取事件的开始和结束时间。 我对代码的理解是这样的。 在主要活动类(CalendarAndroidSample.java)内,这是获取我每

  • 问题内容: 我正在为小型LibGDX驱动的游戏编写服务器端代码,偶然发现了一个问题。每次尝试使用任何方法时,都会遇到。 显然这是因为我没有实现ApplicationListener,所以LibGDX尚未初始化。 有没有办法以无头/ CLI方式初始化LibGDX?我需要能够在服务器端加载TiledMap对象。 com.esotericsoftware.kryonet.Server $ 1.recei