nodejs组成
1 ,基本语法
2,file
3,http
4,buffer
可以访问系统
require('');导入另一个node.js
一个文件的变量,只能在同一个文件操作
当前模块属性
调用方式比较像全局变量
其实不是
//__filename: 当前文件解析过后的绝对路径
console.log(__filename); //不同文件中,__filenam的值可能不一样
## 模块加载系统
### require('模块')
文件: 1.js
```js
console.log('module1')
相同路径下文件: 2.js
require('./1.js')
$node 2.js
可以看到打印了'module1',证明加载了1.js
module对象
保存提供和当前模块有关的一些信息
console.log(module)
module.exports
moudle对象下的字对象
我们可以通过这个对象把一个模块的局部变量
进行提供访问
文件1.js
var a = 1;
module.exports.aa = a; //输出a ,才能在另一个文件访问a
//也可以 module.exports.aa=5; 直接定义a的值
文件2.js
var m1 = require('./1'); //保存访问的结果
console.log(m1.aa); //1 //打印a
module.exports是一个对象
所以我也可以这么写
module.exports= {
aa: a
}
也可以是一个函数
module.exports = function (){
}
内置模块
相关:
request 请求
response 响应
fs 访问文件
http:
请求函数参数
Content-Type: text/html;charset=utf-8
常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
// //内置文件模块
// var fs=require('fs');
// fs.readFile('test.js',function(err,data){
// console.log(data.toString())//读取 text.txt 文件里面的内容
// })
//内置http模块
var http=require('http');
var server=http.createServer(function(request,response){
response.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//中文输入
response.end('ni好')
})//新建服务器
server.listen(8088,'0.0.0.0');//监听端口
console.log('your Server running on 0.0.0.0: 8088')
//console.log('Server running on port 8088')//开启端口
启用服务打开HTML页面
var fs=require('fs');
var http=require('http');
var server=http.createServer(function(req,res){
fs.readFile('./about.html',function(err,data){
res.writeHead(200,{
'Content-Type':'text/html;charser=utf-8'})
res.end(data);
})
});
server.listen(8089,'0.0.0.0');
console.log('your server is runing on 0.0.0.0:8089');
url的组成
//url的组成
<schema>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<hash>
https://www.baidu.com/s?wd=sdf&inputT=1408&rsv_sug4=1409#about.html
<schema>
https
<host>
www.baidu.com
<port>
80
<path>
s
<query>
wd=sdf&
inputT=1408&
rsv_sug4=1409
<hash>