JavaScript是一门运行在客户端(浏览器)的一种"轻量级"的脚本编程语言
JavaScript不仅仅能在浏览器中运行,也可以在Node中运行
什么是Node?
Node是一个环境,供JavaScript代码执行的环境,可以把它等价于浏览器,只不过一般都会把Node这个环境安装到服务器端,这样的话,就可以在服务器
端使用JavaScript来编写程序了。也就是说,JavaScript不仅仅是客户端的语言,也可以是服务器端的语言。-
Node && 浏览器
Node采用的是谷歌V8引擎来渲染JavaScript的: 运行的速度快,稳定,JavaScript代码不需要考虑兼容。
浏览器中的全局JavaScript对象是window,而Node环境下的全局对象是global。
浏览器是安装在客户端,为了保护客户端的安全,基本上不可能提供用JavaScript对客户电脑磁盘上的文件进行操作的功能; 但是Node环境中提供了对应
的I/O操作(服务器上文件的操作),可以使用JavaScript对磁盘下的文件进行增删改查。Node提供给JavaScript很多新的方法: http.createServer, fs.writeFileSync, fs.readFileSync, ...
Node是基于事件驱动的异步编程,在Node环境下编写JavaScript程序一般都是异步编程的。 -
如何让JavaScript在Node环境中执行?
利用webstorm嵌入了Node的机制,直接把编写的JavaScript通过右键 "Run xxx.js" 就可以使其在Node的环境中执行。(不建议这样使用,因为有些
时候最新执行的操作会运行前几次的缓存)进入到要执行的JavaScript文件的目录下,打开命令窗口,在命令窗口中执行 "node xxx.js"。
在Node执行JavaScript代码和浏览器中执行一样,如果JavaScript代码发生了修改,想要看到新的结果需要重新执行JavaScript代码。在命令窗口执行 node, 然后开始编写对应的JavaScript代码测试即可(RPEL命令),和在浏览器控制台写JavaScript代码测试一样。
-
Node模块
内置模块(Node环境天生提供的): http(createServer), fs(writeFileSync, readFileSync), url, ...自定义模块: 自己定义的模块。
在Node环境中,在当前项目下创建一个JavaScript文件,就像相当于创建了一个模块,例如:新建一个a.js,相当于创建了a模块。
如果需要提供一些方法给其他的模块使用,则需要通过
module.exports把方法导出,例如:在a模块中写了
module.exports = {fn:fn} 或者 module.exports.fn = fn;
如果想在b模块中使用,需要先导入var a = require('./a'),这样b模块就可以调取a模块的方法了: a.fn();
第三方模块: 别人写好的模块,我们拿来使用。如果要使用别人的模块,需要使用npm这个命令进行管理。(www.npmjs.com)
安装: npm install 第三方模块名称 -g (安装到Node全局环境中)
卸载: npm uninstall 第三方模块名称 -g
安装成功后在JavaScript中通过 var less = require('less');
把刚才安装的第三方模块导入到JavaScript,这样就可以使用这个模块
中提供的方法了。