您的位置:首页 > Web前端 > Node.js

node.js学习总结2

2020-03-27 19:53 1081 查看

1.url.parse 根据url地址获取地址对象 能够查到请求参数 URL字符串转换成对象并返回。

var parseObj=url.parse(req.url,true)

//parseObj.pathname不包含url地址中问好后面的
var pathName=parseObj.pathname

2.使用node.js获取当前时间
//npm install silly-datetime
var date = require(“silly-datetime”);
var today = date.format(new Date(),‘YYYY-MM-DD’);
3.服务器怎么让客户端重定向

//statusCode=301 永久重定向 浏览器会记住
//1.状态吗设置为302 临时重定向statusCode
//2.在响应头中通过Location告俗客户端往哪重定向
res.statusCode=302
res.setHeader('Location','/')
//结束响应
res.end()

4.模板引擎 art-template的使用

var htmlStr=template.render(data.toString(),{
需要渲染的数据例如 :     comments: comments
})
res.end(htmlStr)

require 加载
1.执行被加载模块的代码
2.得到被加载模块中的exports 到处接口对象
exports 导出
1.Node时模块作用域,默认文件中所有的成员只在当前文件模块中有效
2.对于希望可以被其他模块访问的成员,需要把这些公开的成员都挂载到exports接口对象中
导出多个成员
exports.b=‘hello’ 得到的是对象 ,需要.b 才能获得hello

导出单个成员 module.exports=‘hello’ 得到的直接时字符串

module.exports=‘hello’
module.exports=‘222’
//后者会覆盖前者
不覆盖的情况:
module.exports={
str:‘hello’,
srt1: ‘he’
}
每个模块都有一个module对象
module 对象中有一个exports对象
可以把需要导出的成员挂载到module.exports接口对象中
也就是module.exports.xxx=‘xxx’
但是每次写这么长太麻烦
简写成exports
原理
export 是 module.export的一个引用

console.log(exports===module.exports)  //true
exports.foo='bar'
//等价于
module.exports.foo='bar'
没重新赋值前 module.exports和exports指向同一个地址
注意: 如果给exports重新赋值,就会丢失他们之间的引用关系   exports='bar'

谁来require 我,谁就得到module.exports
默认在代码最后一句 return module.exports
不是exports 所以给exports直接赋值没用
同理 给module.exports直接赋值断开关系

优先从缓存加载,不会重复加载,可以拿到接口对象数据,提高模块加载效率
a.js 中require(‘b.js’)
a.js 中require(’c.js‘) //这次不执行 优先从缓存中取
b,js中require(’c.js‘)
加载一个模块时先看看这个模块是否被加载过

require(‘模块标识符’)
如果是非路径 就是核心模块或者第三方模块

第三方模块加载规则:
对于用npm安装的第三方模块 先找node-modules目录下的该模块,进入package.json 找到属性main 找到对应入口文件
如果package,json文件不存在或者main指定的入口模块也没有
则会默认找该目录下的index.js index,js作为一个默认备选项

npm --node package manager
package,json记录整个项目的依赖项 建议每个项目都有一个package,json
如果node_modules被删除了,可以通过查看package,json文件查看依赖项,使用npm install 直接安装 就能把依赖项重新下载回来

  • 点赞
  • 收藏
  • 分享
  • 文章举报
辣鸡王八鸭 发布了26 篇原创文章 · 获赞 0 · 访问量 389 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: