nodejs的一些理解
来源:互联网 发布:罗马方阵vs秦军 知乎 编辑:程序博客网 时间:2024/06/05 15:59
网络上很多文章都已经描述过nodejs了,我也就不多说了,最近一直在研究javascript 由浅入深的也开始研究nodejs了。现在就我研究的成果写成文章备用(主要是怕忘了)
1 首先是nodjs是模块化管理。用模块定义各种功能。那么nodejs是如何让这些模块运行的呢。研究了好几天,才发现问题的由来。用npm安装了一些先有模块。却不知道应该怎么用。网上搜了大堆信息也没弄明白个所以然。亲自动手利用代码来学习吧。
在命令行里直接用npm install -g xxxx模块 可以去npm官方网站下载并安装(或更新)模块 如果使用-g的话说明是全局安装(环境变量里有path=C:\Users\Administrator\AppData\Roaming\npm)也就是把模块下载后解压缩到C:\Users\Administrator\AppData\Roaming\npm里面,发现这个文件夹里竟然有.cmd后缀的批处理文件。这下清楚了。我们在windows里直接运行nodejs程序的时候为什么不用进入node环境就能运行原因在这。批处理文件替我们做了这些工作。我怀疑-g的主要功用就是生成一个批处理文件,比如我用npm install -g node-inspector
/////////////////////////////////////////
@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" "%~dp0\node_modules\node-inspector\bin\inspector.js" %*) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node "%~dp0\node_modules\node-inspector\bin\inspector.js" %*)
////////////////////////////////////////////
方法1.
我们可以直接双击这个批处理文件运行js程序。(运行批处理)
方法2.
也可以在任何地方使用dos命令窗口输入node-inspector运行程序(运行批处理)
方法3.
其实我们大可直接在C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\bin文件夹找到inspector.js然后 shift+右键 此处打开命令窗口(dos),输入node inspector.js 。(通过node 运行,官方方法)
方法4.
第四种方法特殊可以利用快捷方式来运行
先创建一个node.exe的快捷方式,然后在快捷方式选项卡中的目标里添加参数
比如“D:\Program Files (x86)\nodejs\node.exe” C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\bin\inspector
这里C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\bin\inspector就是参数
点击快捷方式直接运行即可
如果要调试程序我们可以打开inspector 然后呢写一个程序 比如helloworld.js。我放到了node.exe同名目录下
/////////////////////////////
var http = require('http'); var e=exports; exports.test=5;var r=require;var m=module;var n=__filename,d=__dirname;http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'+e+r+m+n+d); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/');
//////////////////////////////////////////
利用创建的快捷方式“D:\Program Files (x86)\nodejs\node.exe” C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\bin\inspector
和快捷方式“D:\Program Files (x86)\nodejs\node.exe” –debug helloworld.js
来启动程序
现在我们打开chrome浏览器http://127.0.0.1:8080/debug?port=5858来调试程序吧。
////////////////////////////////////
(function (exports, require, module, __filename, __dirname) { var http = require('http'); var e=exports; exports.test=5;var r=require;var m=module;var n=__filename,d=__dirname;http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'+e+r+m+n+d); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); });
/////////////////////////////////////////
我们写的程序竟然变成了这样。原来我们的js程序也被当做module了。好 那么exports, require, module, __filename, __dirname都带表什么呢!
这里写图片描述
- nodejs的一些理解
- nodejs的一些问题理解
- 理解NodeJS的EventLoop
- 理解Nodejs的Buffer
- 01nodeJS的理解
- nodejs的一些说明
- nodejs中流(stream)的理解
- 理解Nodejs的Event Loop
- NodeJs module 的初步理解
- nodejs中流(stream)的理解
- nodejs中流(stream)的理解
- nodejs的一些核心概念
- nodejs留言板的一些总结
- NodeJS 的一些小细节
- 对于nodejs的异步的callback理解
- nodejs assert断言的简单理解
- nodeJs模块的理解以及加载方式
- nodejs单线程、异步事件的理解
- Kali初次使用(1)
- 简单工厂
- 【spring】关于location路径的设置(相对路径和绝对路径)
- eclipse导入的Android项目没有android.jar包并报错
- 最短路径算法—Dijkstra(迪杰斯特拉)算法
- nodejs的一些理解
- CSS 网页右下角布局代码
- iOS-Xcode制作静态库
- Hadoop MapReduce工作原理
- sql server2008密钥,sql server 2008 r2 序列号密钥
- apache方式ftp文件操作
- Wireshark抓包工具基本用法
- Html5开发总结
- 蓝天碧水中国梦-核电(1)-中国核电