【问题标题】:(Ubuntu/Linux) How to run javascript code in the background using NodeJS?(Ubuntu/Linux) 如何使用 NodeJS 在后台运行 javascript 代码?
【发布时间】:2019-03-18 22:03:57
【问题描述】:

我刚刚设置了一个运行 Ubuntu + NodeJS 的虚拟机。 我是 Linux 新手,我知道如何从终端执行我的代码。

node app.js

但是我如何告诉我的服务器我想像 PHP 一样在后台运行“thisfile.js”?我知道 javascript 是一种前端语言,它在浏览器中运行。我也知道 nodeJS 是一个使用 Googles V8 引擎的 Javascript 环境。但是我如何告诉 NodeJS 不要将“thisfile.js”传递给访问者浏览器?很抱歉,我并不完全了解 NodeJS,我现在正在迈出第一步。

Installing NodeJs + Express on ubuntu + starting the localhost

【问题讨论】:

  • Node.js 不会自动在任何浏览器上运行,您不需要执行任何特殊步骤来阻止它在浏览器中运行。你绝对可以在没有任何互联网连接的本地机器上运行它
  • 我也在使用 http-server,我应该将用于 Nodejs 的 js 文件保留在 http-server 文件夹之外吗?

标签: javascript node.js


【解决方案1】:

NodeJS 是一个编写服务器端 javascript 的工具。除非您专门为此编写代码,否则尝试连接到您服务器的访问者不会获得任何文件或信息。

看来你并没有真正理解 NodeJS 是做什么的,这完全没问题,我建议你遵循一个基本教程来解释 NodeJS 是什么以及如何使用它,例如: https://www.w3schools.com/nodejs/nodejs_intro.asp

【讨论】:

    【解决方案2】:

    当你运行你的node应用程序时,后端的JS逻辑文件会被V8引擎编译成机器码。因此,它不会将任何逻辑基础文件传递给访问者浏览器。

    假设您使用默认的 express 应用程序结构,您传递公共资源文件(如 css/html/js/images)的唯一位置是默认 express 应用程序中的 public 文件夹。

    ├── app.js
    ├── bin
    │   └── www
    ├── package.json
    ├── public //Public files that browser will have access to is place inside here
    │   ├── images
    │   ├── javascripts
    │   └── stylesheets
    │       └── style.css
    ├── routes // browser will not have access, as it's compiled into machine code
    │   ├── index.js
    │   └── users.js
    └── views
        ├── error.pug
        ├── index.pug
        └── layout.pug
    

    【讨论】:

    • 我需要自己创建整个结构还是可以在 node_modules 文件夹中的某个地方找到它?对不起,如果我问愚蠢的问题。
    • 不,您不需要自己创建结构。您只需使用一行代码即可生成它。 expressjs.com/en/starter/generator.html
    • 我建议你花点时间阅读 expressjs.com 的入门指南
    • 我通过谷歌找到了答案!如果您不提及快递,我将不知道要搜索什么。谢谢。
    • 欢迎,编码愉快
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2014-04-26
    相关资源
    最近更新 更多