我不确定我是否问对了问题。我提前为我的无知道歉,我自学全栈JS和Web应用架构才一年,我正试图在一个粒度的层面上理解这个问题。以前尝试问这个问题似乎冒犯了一些开发人员,所以这可能是一个愚蠢的问题。
我试图理解如何,或者如果可能的话,显式地指定或分配一个特定的文件或javascript块在服务器上处理/运行/执行,而不是在客户端/浏览器上。
在app.js文件中编写一些javascript并运行node app.js
似乎仍然会将该脚本暴露给浏览器,可以在开发工具的源选项卡中查看。
PHP由服务器解释,然后将静态HTML发送到客户端。这是“预处理”,等同于Javascript应用框架的服务器端渲染吗?还是编写一个.php文件与HTML服务器端内联(就像你在WordPress中看到的)更等同于内嵌JavaScript客户端?还有一种不同的方法可以让JS在服务器端解释?
我阅读过关于GENERATE_SOURCEMAP的文章,但看起来更像是用来隐藏客户端JS模块的。
本问题的其他可能措辞
- 如何不向客户端暴露服务器端Javascript?
- 如何在服务器上运行/执行Javascript与在浏览器中运行/执行Javascript?
- 我不问服务器端与客户端JS的定义,也不问服务器端应用程序框架的建议。*
再次,我想我已经把自己搞糊涂了或者忽略了一些非常基本的东西。也许唯一的答案是将你的私有web应用程序从你的客户端应用程序中分割出来,并通过API访问。谢谢你的帮助。
1条答案
按热度按时间iibxawm41#
总结:由服务器端的节点守护进程执行的JavaScript在客户端是不可见的,唯一可见的是JS的输出。
创建扩展名为
.php
的文件时,需要一个执行此文件的可执行文件,以将结果返回给客户端进行渲染。例如:
index.php
,语法如下:要运行这个文件,您需要PHP守护进程(php解释器)来运行这个文件,以获得下面的输出
<script>console.log("HelloWorled")</script>
;输出返回客户端,在客户端浏览器上执行;在PHP的情况下,此操作由http服务器(如nginx)通过以下配置直接管理:
您可以在
/etc/nginx/sites-available/default
文件中找到它这个规则只是告诉nginx让所有扩展名为
.php
的文件通过php代理执行,然后只将执行结果返回给客户端。你必须对nodej进行完全相同的想象。
我用以下语法创建了一个
index.js
文件:用
node index.js
运行文件,你只会得到输出<script>console.log("HelloWorled")</script>
,你的服务器(例如expressJS)将发送回客户端运行它,客户端得到与php代码相同的结果。注: