概念:1)在node中没有全局作用域 是文件(模块)作用域 超过 文件 便无效,默认是封闭的。使用exports.变量
2)( [ ` 需要在前面添加 ;
npm:node包管理器 1.统一下载路径 2.自动下载依赖
发布自定义模块流程:npm init(初始化 定义模块信息) , npm publish(提交), npm update(修改) ,npm --fore unpublish(删除)
常用:npm search(搜索) express-static(用来处理静态文件)
引入模块文件夹名称:默认 node_modules
大致模块:Crypto 加密, Events 事件, Net 网络操作, OS 操作系统信息, Stream 流操作, Timers 定时器, ZLIB 压缩
自定义模块 require 引入 ,exports 输出, module.exports 批量输出
例
1)创建服务:
var http = require('http');
var service = http.createService();
service.on('request',fucntion(request,response){ 服务on监听request
reuqest.url //获取请求路由
})
service.listen(3000,function(){
});
2)获取文件
var fs = require('fs') //err,data
3)发送数据request.write('') request.end() 可简写为 request.end('');
4) 转最字符串 和 转json字符串
JSON.stringify('') JSON.parse('')
5)多文件执行使用request 相对路径加 ./
在js代码中可使用 request.('./*.js')
6)exports 跨模块调用,将需要被外部引用的变量 可挂载在 exports里
exports.add = function(x,y){ retrun x+y} 另一个模块 var exports = reuire('./b') exports.add(1,2);返回结果3
7)获取请求的ip 和 端口号
request.socket.remotePort 请求我服务的端口号 request.socket.remoteAddress 请求我服务的地址
8)设置发送信息的编码
response.setHeader('Content-Type;text/plain;charset=utf-8')
node框架 express
.use("/",function(req,res){}) 通用
.get:("/",function(req,res){}) (url模块 parse(req.url,true));
.post:("/",function(req,res){}) (http模块 req.on('data',function(){}),req.on('end',function(){}))
node 中字符串的 替换 str.replace('','')
模板引擎 art - template
可通过npm进行下载 npm install art-template --save