首页 > 解决方案 > 节点js节点js代码对客户端可见吗

问题描述

听说node js可以用在服务器端。我以前用过jsp。客户端看不到jsp页面内的java代码。如果节点 js 只是 javascript,那么它如何对客户端不可见?

标签: node.js

解决方案


首先,Node js 不是一种编程语言。它是一个运行时环境,所以没有节点 js 代码,只有 javascript 代码。此 javascript 代码在节点 js 环境中运行。

就像 Java 是一种语言而 JRE 是一种运行时环境一样,javascript 是一种语言而 Nodejs 是机器/服务器内的运行时环境。

Node.js 可以在(更具体地说可以安装在)各种平台(Windows、Linux、Unix、Mac OS X 等)上运行。

Node.js 在服务器上使用 JavaScript,就像我们在 tomcat 服务器上使用 java servlet 一样。

JSP 是嵌入在 html 页面中的一段代码,它可以通过与数据库交互来创建动态内容,并且 JSP 代码对浏览器是隐藏的。JSP 代码在支持 Java 的 HTTP 服务器(如 apache tomcat)上运行以进行处理。在这里,所有 JSP 代码依次转换为 servlet 并替换为适当的内容并发送到浏览器/客户端。

Javascript 可以在 v8 引擎的帮助下在浏览器中运行,但没有限制 javascript 只能在浏览器中运行。javascript 可以在节点 js 运行时环境中运行,以与数据库/文件系统等进行交互。

既然您提到了 JSP,那么我假设您正在谈论服务器端渲染

在服务器端渲染中,使用节点 js,对于前端逻辑,我们创建一个公共文件夹,在公共文件夹内,我们编写应该在浏览器中运行的 javascript,如动画、API 调用等。这个 javascript 在浏览器中运行并且对客户。理想情况下,它不应包含任何敏感信息。

在这个公用文件夹之外,我们编写了所有在节点 js 服务器内运行的敏感 javascript,并且由于它在服务器端运行,因此对客户端不可见,这与 java servlet 的工作方式相同。

因为这两个地方都是javascript,所以我们很困惑。


推荐阅读