[关闭]
@kexinWeb 2017-03-11T09:39:09.000000Z 字数 4762 阅读 867

准备知识


一、Node.js基础知识

什么是Node

  • node是js的服务器运行环境。
  • js刚开始只能在浏览器端运行,而node为它提供了可以在服务器端运行的环境,从这个意义上说,node有点像js的虚拟机。
  • Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件、新建子进程),在这个意义上,Node又是JavaScript的工具库。
  • Node非常适用于有很高的流量,但不需要处理大量逻辑的场景。

什么是npm

什么是nvm/n

node_modules文件夹

存放项目所安装的依赖包的文件夹,在项目的根目录下。

package.json

  • package.json 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。
  • 直接运行 npm install 可以加载整个项目所需要的依赖项,并把相关模块安装在node_modules文件夹中。
  • 除此之外,还有很多配置可以在 package.json 文件中进行配置

app.js

一般为整个项目的入口文件

npm全局安装与本地安装

开始一个简单的node项目

  1. var isTrue = function(value, callback) {
  2. if (value === true) {
  3. callback(null, "Value was true.");
  4. }
  5. else {
  6. callback(new Error("Value is not true!"));
  7. }
  8. }
  9. var callback = function (error, value) {
  10. if (error) {
  11. return console.log(error);
  12. }
  13. console.log(value);
  14. }
  1. //http模块,http是node的核心模块,无需重新安装
  2. var http = require('http');
  3. //req是客户端请求,res是服务端响应
  4. http.createServer(function(req, res) {
  5. //一般的服务器端语言把这些都封装好了,但是Node要求你都要自己做。
  6. res.writeHead(200, {'Content-Type' : 'text/plain'});
  7. res.end('Hello keke!');
  8. }).listen(8123, '127.0.0.1');//8123端口监听
  9. console.log('Server running on port 8123');

二、express基础知识

1.什么是express

Express框架的核心是对http模块的再包装。

中间件middleware

use

http动词方法

router

response

  1. response.redirect("/hello/anime");//可以采用相对路径
  2. response.redirect("http://www.example.com");//可以直接输入网址
  1. app.get("/", function(request, response) {
  2. response.render("index", { message: "Hello World" });
  3. });

第一个参数为模板,第二个参数为数据。

指定静态文件目录

app.use(express.static('public'));
注意静态文件目录并不是项目目录,项目目录为__dirname

set

app.set("views", __dirname + "/views");
app.set("view engine", "ejs");
use是express注册中间件的方法
由于第二个中间件没有调用next方法,所以request对象就不再向后传递了。
use方法内部可以对访问路径进行判断,据此就能实现简单的路由,根据不同的请求网址,返回不同的网页内容。

除了在回调函数内部判断请求的网址,use方法也允许将请求网址写在第一个参数。这代表,只有请求路径匹配这个参数,后面的中间件才会生效。无疑,这样写更加清晰和方便。

2.express与Node的关系

3.express必备知识

4.开始一个简单的express项目

三、mysql基础知识

1.如何用Node连接mysql数据库

2.如何用Node操作mysql数据库

3.mysql数据库查询语句

4.用dao封装数据操作方法

四、模板引擎ejs

1.什么是模板引擎

2.ejs基本语法

3.如何优雅地使用ejs

4.一个简单的例子

五、路由

1.什么是路由

2.一个简单的例子

六、其他模块

1.path模块

2.express-session模块

3.cookie-parser模块

4.body-parser模块

5.connect-timeout模块

6.connect-flash模块

七、其他知识点

1.__dirname(Node全局变量)

指向当前运行的脚本所在的目录。

2.__filename(Node全局变量)

指向当前运行脚本的文件名

八、整个项目目录结构

如何处理404页面

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注