express
express
- express介绍
|
|
- 使用express
|
|
- 监听方法
|
|
- 路由(请求的方法和路径) path可以为*, 方法可以为all
|
|
- 中间件(Middleware) 是一个函数
|
|
EJS(以后要接触Jade)
EJS简介
1EJS是一个JavaScript模板库,用来从JSON数据中生成HTML字符串。原理就是字符串拼接三种绑定方式
12345<%= title%> 得到的就是<h1>hello zfpx</h1>,并不会渲染html<%-title%> hello zfpx 会渲染html<%%> 嵌套js表达式title 都是在server中已经声明定义过的,如:app.get('/',function (req,res) {res.render('1',{title:'<h1>hello zfpx</h1>',arr:[1,2,3],flag:false}); });设置模版引擎(背)
|
|
- 渲染模版
|
|
静态文件的服务
|
|
- 发送文件
|
|
- 解析请求体1234npm install body-parser 安装插件var bodyParser = require('body-parser');app.use(bodyParser.json());app.use(bodyParser.urlencoded({extented:true}));
angular
AngularJs MVC
|
|
1.模块化
1.1 创建模块
|
|
2.控制器
2.1 创建控制器
|
|
2.2 控制器特点
|
|
2.3 控制器的合理使用
|
|
3.$scope和$rootScope
3.1 注入$scope和$rootScope
|
|
3.2 初始化方法
|
|
3.3 防止代码压缩
|
|
4.$watch和$apply
4.1 $watch监听模型上的值
|
|
- 4.1.1 监听写法1:
|
|
- 4.1.2 监听写法2:1234567app.controller('appCtrl',['$scope',function ($s) {$s.$watch(function () {return $s.name;}, function (newVal,oldVal) {console.log(newVal,oldVal);});}]);
4.2 $watch监听方法
|
|
4.3 $apply刷新视图
4.3.1 原生的方法不会刷新视图
123456789101112页面代码<div ng-controller="appCtrl">{{name}}</div>控制器app.controller('appCtrl',['$scope',function ($s) {$s.name = 1;setInterval(function () {$s.name++},1000)}]);setInterval并不是angular中的方法,不能使用,使用了$apply之后,强制刷新,就可以使用,也可以在agular中注入$interval的服务4.3.2 通知视图刷新
1234567891011121314151617通知方式1:导入服务app.controller('appCtrl',['$scope','$interval',function ($s,$interval) {$s.name = 1;setInterval(function () {$s.name++;$s.$apply();},1000);}]);通知方式2:强制刷新app.controller('appCtrl',['$scope','$interval',function ($s,$interval) {$s.name = 1;setInterval(function () {$s.$apply(function(){$s.name++;});},1000);}]);
4.4 自带的指令会刷新视图
4.4.1 $timeout
123456app.controller('appCtrl',['$scope','$timeout',function ($s,$timeout) {$s.name = 1;$timeout(function () {$s.name++;},1000);}]);4.4.2 $interval
|
|
- 4.4.3 取消定时器12345678app.controller('appCtrl',['$scope','$interval',function ($s,$interval) {$s.name = 1;var timer = $interval(function () {$s.name++;$interval.cancel(timer);},1000);}]);使用cancle的方法,已经是angular自带的指令就不要在调用$apply去通知了
5.ng-href
|
|
6.ng-src
|
|
服务
|
|
- 注入服务12myModule.provider('自定义服务的名字',function(){this.$get=function(){return }注:provider:定义服务
NPM
NPM简介
|
|
NPM的操作
- 初始化->创建一个package.json1输入:npm init
依赖列表
|
|
- 全局安装
所有带-g的都表示全局安装,可以在’命令行’下直接使用123npm install gulp -g安装了一个gulp框架:gulp:基于文件流的构建系统;主要是方便以后项目上线的时候,自动进行js,css的合并,压缩,语法检查,监听文件变化(一般和3一起用)在任何地方安装都可以 因为安装到全局下
发布包
创建用户
1npm adduser我们想发布我们包 和 jquery一样,让别人使用
123npm publish发布之后去https://www.npmjs.com/-->登录(adduser起的名字就ok)查看发布之后 可以让别人进行下载
查看目录安装
|
|
node npm 都可以在命令行下使用,我把它配置到path中了
本地安装
123本地安装就是项目中要真正使用的一个叫开发依赖 例如webpack --save-dev一个叫依赖 jquery --save
包的卸载
全局卸载
1npm uninstall gulp -g本地卸载
12npm uninstall jquery --savenpm uninstall webpack --save-dev
npm的源的问题
切换源
|
|
查看所有源
|
|
使用源
|
|
Hexo
hexo简介
|
|
创建一个博客
1. 准备工作
|
|
2.安装hexo
window
12在window中,按下window+r---cmd进入命令窗口--nmp install hexo-cli -g-g表示在全局下安装,-g可以写在这句代码的人格位置mac
1在mac需要输入 sudo npm install hexo-cli -g
3.初始化博客
初始化博客
1hexo init blog--初始化的项目是没有node_modules安装所需要的模块
123这里有两种:a.直接进入blog的文件夹输入指令--npm-installb.在别的文件下输入命令 cd blog&&npm-install是安装所需要的依赖启动服务查看当前结构
1输入--hexo server新建文章
123在启动服务后按ctrl+c结束此次服务输入 hexo new '文章名'-->自动跳转至webstorm中-->在blog-->source-->_posts-找到我新建的文章再次启动服务-输入当前的地址更新文章
发布到github
下载hexo-deployer 插件
1npm install hexo-deployer-git --save修改config
12345deploy:type: gitrepo: <repository url>这里要修改成https://github账户名:密码@github.com/github账户名/github账户名.github.io.gitbranch: mastermessage: push部署(发布)
12hexo deploy-->就可以在自己的github上看到已经发布的东西注意:当再次发布的时候,需要在hexo deploy前执行hexo g
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
|
|
More info: Writing
Run server
|
|
More info: Server
Generate static files
|
|
More info: Generating
Deploy to remote sites
|
|
More info: Deployment