js学习总结----初步了解node
2021-06-18 06:04
标签:接收 指定 增删改查 strong 管理 utf-8 信息 false glob JS是一门“运行在客户端(运行在浏览器)”的“轻量级”的脚本编程语言 JS目前不仅仅只能在浏览器中运行,还可以在NODE中运行 node的优点:基于谷歌V8引擎的,具有强大的io操作,基于事件驱动的异步 编程。 1、什么是node node是一个环境,供JS代码执行的环境,我们可以把他等价于浏览器,只不过我们一般都会把node这个环境安装到服务器端,这样的话我们就可以在服务器端使用JS编写程序了,也就是JS不仅仅是客户端的语言,也是服务器端的语言... 2、node && 浏览器 NODE采用的是谷歌的V8引擎来渲染JS的(运行的速度快、稳定、我们编写的JS代码不需要考虑兼容) 浏览器中的全局JS对象是window,而node环境下的全局JS对象是global 浏览器是安装在客户端的,为了保护客户端的安全,基本上不可能提供用JS对客户电脑磁盘上的文件进行操作的功能;但是node环境中提供了对应的I/O操作(服务器上文件的操作),我们使用JS可以对服务器磁盘下的文件进行增删改查。 NODE是基于事件驱动的 / 异步编程(我们在NODE环境下编写的JS程序一般都是异步编程的) NODE提供给JS很多新的方法:http.createServer、fs.writeFileSync、fs.readFileSync... 3、如何让JS代码在NODE中执行? 利用webStrom嵌入了NODE的环境,直接把编写的JS通过右键“run xxx.js”在NODE环境中执行(不建议大家经常这样使用,因为有些时候我最新执行的操作其实会运行前几次的缓存,因为有些时候会有缓存) 在命令窗口中执行 在当前要执行的JS文件目录下,shift+右键 =>在此处打开命令窗口 => node xxx.js 相当于把JS代码在NODE环境中执行了。 在NODE中执行JS代码和浏览器中执行一样,如果JS代码发生了修改,想要看到最新的效果需要重新执行对应的JS文件。 在命令窗口中执行node,然后开始编写对应的JS代码测试即可(RPEL命令操作),和在浏览器的控制台编写代码测试一样。 4、NODE模块 内置模块(NODE环境天生提供的):http(createServer...)、fs(writeFileSync、readFileSync)、url... 自定义模块:我们自己定义的模块 在NODE环境中,我们在当前的项目下创建了一个JS文件,就相当于创建了一个模块,例如:新建一个a.js,就相当于创建了a模块 如果需要提供一些方法给其他的模块使用,则需要通过module.exports把方法导出,例如:在A模块中写了module.exports = {fn:fn} / module.exports.fn = fn 如果现在B模块中使用,我们需要先导入var a = require("./a");这样就可以调取A模块导出的方法 a.fn() 第三方模块:别人写好的模块我们拿来使用 在NODE中如果需要使用别人的模块,需要使用npm这个命令进行管理 https://www.npmjs.com/ 安装: npm install 第三方模块名称 -g (安装在NODE的全局环境中) 卸载:npm uninstall 第三方模块名称 -g 安装成功后在JS中通过 var less = require("less");把刚才安装的第三方模块导入到JS中,这样的话我们就可以使用这个模块中提供的方法了 less.render... 5、服务创建成功后,如何的向服务器发送请求 在浏览器中输入 http://localhost:端口号/ 在浏览器中输入 http://本机的IP地址:端口号/ 下面是常用的http、fs、url的方法的代码: js学习总结----初步了解node 标签:接收 指定 增删改查 strong 管理 utf-8 信息 false glob 原文地址:http://www.cnblogs.com/diasa-fly/p/7263171.html//导入三个常用的NODE内置模块
var http = require("http"),
fs = require("fs"),
url = require(‘url‘);//URL模块提供了一个方法,url.parse(str),用来解析url地址。第一个参数为传递的url,第二个参数默认是false,变为true后,返回结果的query中存储的是经过处理解析后的结果:把传递进来的多组数据以键值对的方式进行存储
//1、HTTP
/*
http.createServer 创建一个服务,变量server就是我们创建出来的那个服务
server.listen:为这个服务监听一个端口80
*/
var server = http.createServer(function(request,response){
//当客户端向服务器端的当前服务(端口号是80这个服务)发送一个请求,并且当前服务已经成功接收到这个请求后
//request(请求):存放的是所有客户端的请求信息,包含客户端通过问号传参的方式传递给服务器的数据内容
// console.log(request.url);//客户端请求的地址,我们服务端通过request.url获取到的是不包括localhost或者ip地址的信息例如:index.html?name=zhangsan&age=7
var urlObj = url.parse(request.url,true),
pathname = urlObj.pathname,
query = urlObj.query;
//根据请求的URL地址(具体的是根据地址中的pathname)获取到对应资源文件中的源代码
if(pathname === "/1.html"){
//fs.readFileSync([path+name],[encode])同步读取指定文件夹中的内容:文件中的内容读取不完不执行下面的操作
var con = fs.readFileSync(‘./1.html‘,"utf-8");
}
//response(响应):提供了向客户端返回内容和数据的方法
//response.write:向客户端返回内容
//response.end:告诉服务器响应结束了(一定要加)
response.write(con);
response.end();
});
server.listen(80,function(){
//当服务创建成功,并且端口号监听成功之后执行这个回调函数
console.log("server is create success,listening on 80 port")
});
上一篇:Html基础