node.js - 节点js节点js代码对客户端可见吗
问题描述
听说node js可以用在服务器端。我以前用过jsp。客户端看不到jsp页面内的java代码。如果节点 js 只是 javascript,那么它如何对客户端不可见?
解决方案
首先,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,所以我们很困惑。
推荐阅读
- ant - Ant 构建成功但不编译 CSS,可能是什么问题?
- javascript - 在nodejs中创建注册系统时收到未定义错误的isEmail
- perl - GD::Graph 条形图列值
- java - Java Spring boot Mongodb 花费太多时间来检索结果
- jquery - 添加元素而不影响其他元素
- javascript - 我可以使用 javascript 使用 forEach 实现异步等待吗?
- visual-studio - 为什么 Visual Studio 生成的 WSDL 未指定 soap:operation 元素(缺少 wsdl:binding 元素)
- laravel - Laravel 控制器:覆盖父请求验证
- django - 如何自动更改 BooleanField 的值
- android - Android 上 NFC 标签的 API 文档和限制