Day 1st : 安装启动

官网:http:// mean.io

拷贝过来的文件不需要一个一个安装,直接 npm install 就会根据package-lock.json 自动安装

1. MEAN 概念:

1. 全栈式框架
starting from the top (code running in the browser) to the bottom (database)
2. 开源组件集合

MongoDB: 数据库。用于后端应用存储数据,格式:json文档
Express(or Express.js): 构建后端web应用的框架。在Node.js 上运行。
Angular: 构建前端web应用的框架。MVC框架。运行浏览器的JavaScript code。
Node.js: javascript 运行环境。

2. 安装MongoDB

安装

  1. 官网安装
  2. 创建mongodb 存储文件
  1. mkdir -p /data/db //默认DB 存储数据位置,可以修改
  2. $(yourname): whoami (in your terminal)
  3. sudo chown -R (yourname) /data/db

Then you need to start mongodb server by,
两个重要目录:
data directory : /var/lib/mongodb
log directory: /var/log/mongodb

启动命令:

sudo service mongod start
启动成功后的标志是日志内容/var/log/mongodb/mongod.log的最后一行是:

[initandlisten] waiting for connections on port 27017

苍天阿,我开始一直以为是卡住啦 :( ,安装说明看了无数遍,一直以为这条是无关紧要的一步,没有细看。也怪刚开始安装总是各种错误有了心理阴影啦。

//  Stop MongoDB
    sudo service mongod stop
// Restart MongoDB
    sudo service mongod restart

使用命令:

mongo

即打开一个mongo shell 连接 mongod ,默认端口:localhost: 27017

安装或使用过程可能出现的各种问题

遇到问题: 1. 无法启动,没反应

尝试方法:

  1. 刚安装可能有mask,去mask
    sudo systemctl unmask mongodb
    sudo service mongod start
  2. 启动不成功,接着往下试
    If it doesn't work than run following command,
    sudo mongod
    Now you can connect to mongodb using your mongo shell
    mongo
    Now you are connected!

遇到问题: 2. mongoldb 报错 Failed to set up listener: SocketException: Address already in use

有前端启动的进程,ps aux | grep mongodb 找出来, kill

遇到问题: 3. Failed to unlink socket file Unknown error

找到/tmp/mongodb-27017.sock 文件删除

遇到问题: 4. # ERROR: /ng-app/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header

npm install bcrypt (npm install 后还是报错的话)

遇到问题: 5. 后台启动端口 in use

lsof -i tcp:3000 找到正在运行的pid kill pid

最开心的时刻并不一定是报错解决啦,也可能是换了一种错误。 From

3. 安装 Express

官方安装方法: www.expressjs.com.cn/starter/installing.html
npm install -g express // -g 全局安装

4. 安装Angular

 npm install xxx --save-dev   //for  devDependencies
 npm install xxx --save       //  for dependencies

完整项目启动顺序

  1. 安装依赖: npm install
  2. DB: sudo mongod / sudo service mongod start
  3. 后台服务: npm run server.js
  4. Angular : nodemon / ng serve --open

完整项目思路

http:localhost:4200/router angular 前端服务器显示
》 setHeader 跨域访问
http:localhost:3000/router express /nodeJs 后端服务器

reference:
https://www.jianshu.com/p/eeb8227e734f
https://www.imooc.com/article/1641

你可能感兴趣的:(Day 1st : 安装启动)