Node.js和在浏览器之中的不同

简介: Node.js和在浏览器之中的不同

在Node.js中编写JavaScript应用程序与在浏览器中为Web编程有何不同

1、在浏览器中,大多数时候您所做的是与DOM或其他Web平台API(如Cookie)进行交互。当然,Node.js中并不存在这些。您没有浏览器提供的文档、窗口和所有其他对象。

 

2、在浏览器中,我们没有Node.js通过其模块提供的所有漂亮的API,比如文件系统访问功能。

浏览器针对的是客户端,主要是对界面的支持,而node.js则是单独把v8引擎单独拿出来进行再次封装,使他达到后端语言的要求,而它对服务器系统进行打交道了,需要一些更底层的一些实现。

1. const fs = require('fs');
2. fs.stat('/Users/joe/test.txt', (err, stats) => {
3. if (err) {
4.    console.error(err);
5.   }
6.  console.error();
7. // we have access to the file stats in `stats`
8. });

 

3、Node.js 可以选择相对应的版本,去构建对应的应用程序,而在浏览器中,你无法决定用户去选择什么样的浏览器,这样也是不方便的。Node.js 和 浏览器底层都有类似的实现技术,但是浏览器运行在客户端,而Node.js 运行在服务端,在服务器端的环境,对用户而言都是一致的,反过来,就不一样了,每个用户浏览器版本可能都不一样,而我们又不可能去要求用户去统一浏览器版本。

4、Node.js 可以编写版本支持的所有现代ES6以上的代码,由于JavaScript的升级速度很快,一般浏览器支持的会比较慢,所以一些浏览器运行的还是低版本, 为了浏览器的兼容性,可能我们使用Babel将代码转换为与ES5兼容的代码,在Node.js中我们不需要这样操作。

5、另一个区别是Node.js同时支持CommonJS和ES模块系统(自Node.js v12以来),而在浏览器中,我们开始看到ES模块标准正在实现。

6、在实践中,这意味着您可以在Node.js中同时使用require() 和 import,而只能在浏览器中使用 import。

早期浏览器版本,是不支持import,而require()就更加不支持了,浏览器支持ES6之后,浏览器已经开始支持使用import了

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
23小时前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
15 9
|
29天前
|
Web App开发 JavaScript 前端开发
JavaScript Window - 浏览器对象模型
JavaScript Window - 浏览器对象模型
18 2
|
14天前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
32 0
|
2月前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
18天前
|
JavaScript 前端开发 开发者
JavaScript 浏览器控制台的使用
JavaScript 浏览器控制台的使用
10 0
|
18天前
|
存储 JavaScript 前端开发
JavaScript 与浏览器存储
JavaScript 与浏览器存储
27 0
|
25天前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
234 0
|
25天前
|
缓存 前端开发 算法
浅谈【JavaScript】的浏览器指纹?
浅谈【JavaScript】的浏览器指纹?
15 0
|
3月前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
84 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统