nodejs
文章平均质量分 56
胡鹤婷
努力靠近理性的工科产品胡
展开
-
Nodejs
node.js是服务器程序,写的js语句都将运行在服务器上。返回给客户的都是你已经处理好的纯HTML文本。 例如://req表示引包,引包就是引用自己的一个特殊功能var http = require('http');//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么var server = http.createServer(function (req,res) {原创 2017-11-17 18:40:39 · 222 阅读 · 0 评论 -
can't set headers after they are sent
今天在学习express框架优美静态路由时,遇到了一个问题: 错误显示:can’t set headers after they are sent 不能发送header,因为已经发送过一次了 服务器在处理HTTP请求的时候,会先输出响应头,然后输出主体内容,而一旦输出过一次响应头(比如:执行res.writeHead()或res.write()或res.end()),当我们再尝试通过re原创 2017-11-30 22:29:17 · 3348 阅读 · 0 评论 -
app.render和res.render的区别
原文档:Think of app.render() as a utility function for generating rendered view strings. Internally res.render() uses app.render() to render views.把app.render当成一个生成视图的工具,而且res.render内部也是调用了app.render。区别是这转载 2017-12-01 03:08:15 · 3314 阅读 · 0 评论 -
express框架
如果想处理这个网址的任何method的请求,那么就写allapp.all("/",function(){})网址不区分大小写,即用app.get("/AAb",function (req,res) { res.send("你好");})用网址”/aab”也可以访问所有的参数?后面的参数,锚点也会被忽略也就是说,你路由到”/a”,实际上/a?id=2&sex=nan也可以被处理正则表达式可原创 2017-12-01 11:06:05 · 225 阅读 · 0 评论 -
get和post请求
get 请求在参数URL中,在原生node中需要使用url模来识别数字字符串,在Express中,不需要使用url模块了。可以直接使用req.query对象。app.get("/",function (req,res) { // res.render("haha",{news:[]}); res.send(200,"页面请求成功");})POST请求在express请求中不能直接获转载 2017-12-01 12:54:02 · 306 阅读 · 0 评论 -
Node.js初识
V8引擎本身就是用于Chrome浏览器的JS解释部分。 Node.js是一个让JavaScript运行在服务器端的开发平台,它让JAVAScript的触角伸到了服务端,可以与PHP,JSP,Python,Ruby平起平坐。 Node不同的是: 1.Node.js不是一种独立的语言,与PHP,JSP,Python,Perl.Ruby的“既是语言,也是平台”不同,Node.js使用JavaScri原创 2017-11-16 23:28:44 · 231 阅读 · 0 评论 -
nodejs的异步编程思想
模拟一个情景,假设我们要从数据库中读取学生信息,然后呈递到页面上。 我们采用如下操作,res.reder("index",{ "name":student.getDetailById(234234).name;})然而事实却和我们所想的并不相同,因为读取数据库是一个异步操作,所以在数据库还未读取到证据之前,我们就继续往下执行代码,返回给我们的是一个undefined值 这时,我们就必须建立原创 2017-12-02 14:30:30 · 458 阅读 · 0 评论 -
前后台交互
现存在一个一号新闻页面如下: 有二号,三号新闻,所用模板和一号新闻相同,内容,时间,作者不同,那是不是我们要写三个这样的html页面嘞? 答案当然是否定的,所以我们要利用动态修改页面内容的手段来动态修改页面的内容 现有一个news文件夹中包含如下文件: node_modules文件夹中有我们所需要引入的模块,express,fs等等 views中包含一个content.ejs文件,原创 2017-12-03 08:37:43 · 350 阅读 · 0 评论 -
前后端模板冲突问题(留言本)
在前端中引用underscore-min.js模块解析前端的模板,与后台发生发生冲突(后台使用的模板引擎在遇到前端的模板引擎,误认为是后台的模板,但是后台却没有相关的数据),解决方法:修改underscore-min.js源码: 快速查找<%或者templateSettings缩小范围 将冲突的<%修改为{{或者其他你想要修改的符号前端代码设计模板代码:<script type="tex原创 2017-12-12 17:45:14 · 623 阅读 · 0 评论 -
nodejs异步回调造成的困扰
现存在如下图所示的文件目录: 我们希望通过02.js来实现能够静态加载static中的文件 这篇博客是我的上一篇博客静态资源管理续篇,在上一篇博客中,因为遇到加载json格式的文件遇到了问题,所以写了一个续篇,如果有感兴趣的小伙伴可以看一下 实现代码如下:var http = require('http');var url = require('url');var fs = requi原创 2017-11-21 11:12:06 · 942 阅读 · 1 评论 -
nodejs路径问题
当我们在桌面放有如下文件夹: test文件夹中的内容如下: 在b.js文件中写出如下代码:var fs = require("fs");require(".././c.js");var iconv = require("iconv-lite");fs.readFile("./3.txt",function (err,data) { if(err){ thro原创 2017-11-29 21:00:25 · 795 阅读 · 0 评论 -
Request和Response详解
Request 和 Response 对象起到了服务器与客户机之间的信息传递作用。Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器。一、Request对象的五个集合:QueryString:用以获取客户端附在url地址后的查询字符串中的信息。 例如:stra=Request.QueryString [“strUser转载 2017-11-18 09:05:14 · 930 阅读 · 0 评论 -
URL格式
参考了百度百科,说一下URL同志的格式问题:URL的定义:在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。URL的组成部分URL由三部分组成:资源类型,存放资源的主机域名,资源文件名。URL的一般语法格式:(带方括号[]的为可选项):protocol :// ho原创 2017-11-18 12:25:44 · 28466 阅读 · 1 评论 -
nodejs queryString模块
queryString字面上的意思是查询字符串,一般是对http请求所带的数据进行解析。queryString模块提供了四个方法:1.queryString.parse(str,separator,eq,options)该方法是将一个字符串反序列化为一个对象。 参数说明: str:指需要反序列化的字符串 separator(可选):指用于分割str这个字符串放入字符或者字符串,默认值为’&’转载 2017-11-18 12:59:23 · 557 阅读 · 0 评论 -
mkdir创建目录问题
刚刚在学习一个小案例的时候,遇到mkdir创建目录的问题 具体代码如下:var http = require('http');var fs = require('fs');var server = http.createServer(function (req,res) { //不处理小图标 if(req.url == '/favicon.ico'){ retur原创 2017-11-18 22:16:04 · 3722 阅读 · 0 评论 -
循环与回调函数
nodejs中的fs模块所提供的接口都是异步操作,当循环中嵌套回调函数时回遇到很多问题 如我想实现一个目的: 上图是album文件夹下的子目录,我现在想把其中所有的文件夹存入一个数组中去,代码如下:var http = require('http');var fs = require('fs');var server = http.createServer(function (req,r原创 2017-11-19 12:18:23 · 2911 阅读 · 0 评论 -
静态资源文件管理
我们知道不同于Apache的是,nodejs中文件的物理地址与其真实的地址完全没有关系,也就是说,如果你在地址栏输入: 我们可以访问到一个真实地址完全没有关系的文件,这是为什么嘞?因为我们可以在代码中这样写:var http = require('http');var url = require('url');var fs = require('fs');var server = htt原创 2017-11-19 20:34:17 · 571 阅读 · 0 评论 -
Nodejs一些初识问题总结
单线程;no-blocking ; Event DrivenNode不为每一个用户开辟一个线程所以选择了单线程,如果想照顾所有的用户,那么就必须非阻塞I/O否则一个人的I/O就会把别人的,自己阻塞了。一旦非阻塞I/O,这个人就会放弃CPU的使用权,换成另外一个人使用CPU(或者执行后面的代码) 所以CPU的执行率达到100%,第一个人的I/O结束了,就要用时间通知线程,执行回调函数,此时必须有事原创 2017-11-19 20:57:11 · 165 阅读 · 0 评论 -
nodejs模块(1)
在nodejs中,以模块为单位划分所有的功能,并且提供了一个完整的模块加载机制,这时我们可以将应用进程划分为各个不同的部分。 nodeJS中,一个JavaScript文件中定义的变量,函数,都只在这个文件内部有效,当需要从模块外部引入这些变量,函数时,必须用exports对象进行暴露。使用者要用require()命令引入这个JS文件。 nodejs中,JS文件和JS文件就是被一个个exports原创 2017-11-29 16:39:10 · 271 阅读 · 0 评论 -
could-not-execute-graphicsmagick-imagemagick-identify-ping-format
今天在nodejs中用GraphicsMagick处理图像,引用gm的包出现了 could-not-execute-graphicsmagick-imagemagick-identify-ping-format这个错误,解决方法看网上有重新安装或安装一个其他的包 其实原因可能是因为缓存的问题,还未更新,需要重启一下电脑,重启电脑之后就可以了 代码如下:var fs = require("fs"原创 2017-12-14 20:41:55 · 1952 阅读 · 0 评论