• p3_856840
  • 157.6KB
  • zip
  • 0
  • VIP专享
  • 0
  • 2022-06-13 05:40
硕士分院: 开发部门: MEAN.JS是一个全栈JavaScript开源解决方案,它为基于 , , 和的应用程序提供了坚实的起点。 这个想法是通过连接那些框架来解决常见问题,建立一个强大的框架来支持日常开发需求,并帮助开发人员在使用流行JavaScript组件时使用更好的实践。 在你开始之前 在开始之前,我们建议您阅读有关组装MEAN.JS应用程序的基本构建块: MongoDB-浏览并转到其,该将帮助您更好地了解NoSQL和MongoDB。 快递-了解快递的最佳方法是通过其,该具有入门指南以及针对一般快递主题的ExpressJS指南。 您也可以通过此StackOverflow线程获取更多资源。 AngularJS-Angular的官方网站是一个很好的起点。 您还可以使用Thinkster流行指南和Egghead视频。 Node.js-首先浏览Node.js官方网站和此St
[![MEAN.JS Logo](]( [![Gitter]( Chat.svg)]( Master Branch: [![Build Status](]( [![Dependencies Status](]( Dev Branch: [![Build Status](]( [![Dependencies Status](]( MEAN.JS is a full-stack JavaScript open-source solution, which provides a solid starting point for [MongoDB](, [Node.js](, [Express](, and [AngularJS]( based applications. The idea is to solve the common issues with connecting those frameworks, build a robust framework to support daily development needs, and help developers use better practices while working with popular JavaScript components. ## Before You Begin Before you begin we recommend you read about the basic building blocks that assemble a MEAN.JS application: * MongoDB - Go through [MongoDB Official Website]( and proceed to their [Official Manual](, which should help you understand NoSQL and MongoDB better. * Express - The best way to understand express is through its [Official Website](, which has a [Getting Started]( guide, as well as an [ExpressJS Guide]( guide for general express topics. You can also go through this [StackOverflow Thread]( for more resources. * AngularJS - Angular's [Official Website]( is a great starting point. You can also use [Thinkster Popular Guide](, and the [Egghead Videos]( * Node.js - Start by going through [Node.js Official Website]( and this [StackOverflow Thread](, which should get you going with the Node.js platform in no time. ## Prerequisites Make sure you have installed all of the following prerequisites on your development machine: * Node.js - [Download & Install Node.js]( and the npm package manager. If you encounter any problems, you can also use this [GitHub Gist]( to install Node.js. * MongoDB - [Download & Install MongoDB](, and make sure it's running on the default port (27017). * Bower - You're going to use the [Bower Package Manager]( to manage your front-end packages. Make sure you've installed Node.js and npm first, then install bower globally using npm: ```bash $ npm install -g bower ``` * Grunt - You're going to use the [Grunt Task Runner]( to automate your development process. Make sure you've installed Node.js and npm first, then install grunt globally using npm: ```bash $ npm install -g grunt-cli ``` ## Downloading MEAN.JS There are several ways you can get the MEAN.JS boilerplate: ### Cloning The GitHub Repository The recommended way to get MEAN.js is to use git to directly clone the MEAN.JS repository: ```bash $ git clone meanjs ``` This will clone the latest version of the MEAN.JS repository to a **meanjs** folder. ### Downloading The Repository Zip File Another way to use the MEAN.JS boilerplate is to download a zip copy from the [master branch on GitHub]( You can also do this using `wget` command: ```bash $ wget -O; unzip; rm ``` Don't forget to rename **mean-master** after your project name. ### Yo Generator -Another way would be to use the [Official Yo Generator](, which generates a copy of the MEAN.JS 0.3.x boilerplate and supplies multiple sub-generators to ease your daily development cycles. ## Quick Install Once you've downloaded the boilerplate and installed all the prerequisites, you're just a few steps away from starting to develop your MEAN application. The first thing you should do is install the Node.js dependencies. The boilerplate comes pre-bundled with a package.json file that contains the list of modules you need to start your application. To learn more about the modules installed visit the NPM & Package.json section. To install Node.js dependencies you're going to use npm again. In the application folder run this in the command-line: ```bash $ npm install ``` This command does a few things: * First it will install the dependencies needed for the application to run. * If you're running in a development environment, it will then also install development dependencies needed for testing and running your application. * Finally, when the install process is over, npm will initiate a bower install command to install all the front-end modules needed for the application ## Running Your Application After the install process is over, you'll be able to run your application using Grunt, just run grunt default task: ``` $ grunt ``` Your application should run on port 3000 with the *development* environment configuration, so in your browser just go to [http://localhost:3000](http://localhost:3000) That's it! Your application should be running. To proceed with your development, check the other sections in this documentation. If you encounter any problems, try the Troubleshooting section. * explore `config/env/development.js` for development environment configuration options ### Running in Production mode To run your application with *production* environment configuration, execute grunt as follows: ```bash $ grunt prod ``` * explore `config/env/production.js` for production environment configuration options ### Running with TLS (SSL) Application will start by default with secure configuration (SSL mode) turned on and listen on port 8443. To run your application in a secure manner you'll need to use OpenSSL and generate a set of self-signed certificates. Unix-based users can use the following command: ```bash $ sh ./scripts/ ``` Windows users can follow instructions found [here]( After you've generated the key and certificate, place them in the *config/sslcerts* folder. Finally, execute grunt's prod task `grunt prod` * enable/disable SSL mode in production environment change the `secure` option in `config/env/production.js` ## Testing Your Application You can run the full test suite included with MEAN.JS with the test task: ```bash $ grunt test ``` This will run both the server-side tests (located in the app/tests/ directory) and the client-side tests (located in the public/modules/*/tests/). To execute only the server tests, run the test:server task: ```bash $ grunt test:server ``` And to run only the client tests, run the test:client task: ```bash $ grunt test:client ``` ## Development and deployment With Docker * Install [Docker]( * Install [Compose]( * Local development and testing with compose: ```bash $ docker-compose up ``` * Local development and testing with just Docker: ```bash $ docker build -t mean . $ docker run -p 27017:27017 -d --name db mongo $ docker run -p 3000:3000 --link db:db_1 mean $ ``` * To enable live reload, forward port 35729 and mount /app and /public as vo