Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jinwyp/AngularJS-Learning-Demo

Repository files navigation

Express4 Mongoose AngularJS Learning Demo

Synopsis

This is a functional demo how to setup a project that uses Express 4, Mongoose 4, bluebird, JsonWebToken, Angular 1 & Angular 2, Sass 3, Gulp 3, BrowserSync, and nodemon.

第一步 开始一个项目

安装Express框架

先确保系统已经安装好 NodeJS

然后在命令行运行以下命令安装Express (Express 是基于Nodejs做网站的一个开发框架)

npm install express --save

同时安装express 命令行工具 express-generator

npm install express-generator --save-dev 或 npm install express-generator --save-dev -g

说明: 项目所需要的后端依赖的库都在 node_modules 下。后端文件和库使用npm install 命令安装。在使用 npm install --save 命令会自动把信息保存在 package.json 里面。 在package.json 文件的属性 dependencies 下面是项目运行需要的库, devDependencies 是项目搭建环境和测试等工具需要的库

其中 npm install 参数 --save 是安装并把安装的库写入 package.json 文件中的 dependencies 属性里面, 而 --save-dev 写入package.json文件中的 devDependencies 属性里面. 参数 -g 是全局安装, 会安装到系统的node_modules下面,而不是安装到该项目的node_modules目录下面.

注意: 在MAC系统下 可能需要管理员权限安装 请在原命令前增加sudo

sudo npm install express --save

安装MongoDB 数据库

官方文档 或使用homebrew 安装, 先更新一下homebrew 键入命令

brew update

然后安装mongodb

brew install mongodb

创建一个项目

然后 创建一个项目 名字叫app

express app -e 或 express app -e -c compass

参数 -e 是使用ejs模板引擎, -c compass 是使用compass sass CSS预处理工具

创建完毕后, 在当前文件夹下会增加一个app文件夹

第二步 使用Bower 构建前端基础结构

安装 Bower 前端库管理工具 Bower A package manager for the web

npm install -g bower 或 sudo npm install -g bower (mac 或 linux 下)

需要先安装好 node, npm and git.

安装 前端依赖库

可以通过 bower init 创建bower 初始配置 进入 app目录 键入命令

cd app

然后 通过向导创建bower 初始配置文件

bower init

注意: app/public 文件夹为放置网站的静态文件. 项目所需要的前端依赖的库都在 bower_components 下。 .bowerrc文件记录着文件存放的路径,默认是bower_components, 本项目的路径放在了public/bower_components,需要编辑.bowerrc文件修改为public/bower_components

安装前端所需要依赖的库

bower install angular --save
bower install jquery --save
bower install bootstrap --save
bower install reveal.js --save (用来做幻灯片的库)

进入目录 app/public 查看bower安装下载的库

第三步 运行网站

进入app文件夹,键入 DEBUG=app:* npm start 或 DEBUG=app:* NODE_ENV=development npm start 运行网站 然后在浏览器 打开http://localhost:8088/ 就可以访问了。

说明: npm start 前面的 DEBUG=app:* 和 NODE_ENV=development 是运行node的环境变量. DEBUG=app:* 是传入DEBUG变量用来调试控制台只输出app的命名的日志. NODE_ENV=development 是传入NODE_ENV变量用来读取app/config下面的对应环境的配置文件

第四步 使用Gulp 任务工具 来运行网站

Gulp可以处理一系列的工作, 例如编译Sass为css,压缩js代码,合并js和css文件, 最后启动网站。

使用以下命令 安装Gulp

sudo npm install -g gulp --save-dev

安装 gulp-nodemon 插件 nodemon 是用来修改代码后自动重启nodejs服务器工具. gulp-nodemon 是在gulp中使用nodemon启动服务器

sudo npm install gulp-nodemon --save-dev

gulp-nodemon 是重启服务器的插件。 因为我们修改后端的nodejs代码, 需要人工重启服务器才能看到更新, 使用nodemon就可以自动监视文件变化重启服务器。

安装 gulp-livereload 和 browser-sync 插件

npm install browser-sync --save-dev

gulp-livereload 和 browser-sync 都是自动刷新前端页面的插件, 这样修改了css不用手动刷新页面就能看到最新的修改, 而且可以在电脑,手机上同步刷新。本项目使用了browser-sync 替代了gulp-livereload

gulp-livereload 使用方法

需要安装的 chrome 浏览器插件 LiveReload 或不用浏览器插件 在页面中插入以下代码 livereload-js

<script type="text/javascript">
 document.write('<script src="' + (location.protocol || 'http:') + '//' + (location.hostname || 'localhost') + ':35729/livereload.js?snipver=1" type="text/javascript"><\/script>')
</script>
browser-sync 使用方法

按照官方文档 使用 proxy 代理的方式 原来的网站是运行在8088端口,使用browsersync后运行在8089端口,这样使用http://localhost:8089 访问页面修改后就会自动刷新了,而且不需要装浏览器插件或嵌入js代码

browserSync.init({
 proxy: "http://localhost:8088",
 files: ["app/public/**/*.css", "app/public/**/*.html", "app/views/**/*.*"],
 browser: ["google chrome", "firefox"],
 port: 8089,
});

编写Gulp 任务

具体请查看gulpfile.js内容, 默认gulp会读取gulpfile.js的任务

如果gulp任务多了,为了更好的结构化gulp 任务可以参考以下文章 gulp实战 结构化组织gulp任务 gulp教程

运行Gulp 任务

在命令行运行以下命令启动网站, 打开http://localhost:8089/ 就可以访问了。

gulp 或 gulp default

About

Express4 AngularJS Demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /