当前位置:首页 » 网页前端 » 持续运行js脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

持续运行js脚本

发布时间: 2023-01-24 13:23:05

A. nodejs服务后台持续运行三种方法

forever是一个nodejs守护进程,完全由命令行操控。forever会监控nodejs服务,并在服务挂掉后进行重启。

1、安装 forever

npm install forever -g

2、启动服务

service forever start

3、使用 forever 启动 js 文件

forever start index.js

4、停止 js 文件

forever stop index.js

5、启动js文件并输出日志文件

forever start -l forever.log -o out.log -e err.log index.js

6、重启js文件

forever restart index.js

7、查看正在运行的进程

forever list

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

npm install -g pm2

pm2 start app.js    // 启动

pm2 start app.js-i max   //启动 使用所有CPU核心的集群

pm2 stop app.js       // 停止

pm2 stop all             // 停止所有

pm2 restart app.js    // 重启

pm2 restart all          // 重启所有

pm2 delete  app.js     // 关闭

运行 pm2 startup ,即在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务。

运行 pm2 save ,会将当前pm2所运行的应用保存在/root/.pm2/mp.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/mp.pm2下读取应用并启动。

nodejs 自带node.js自带服务nohub,不需要安装别的包。

缺点:存在无法查询日志等问题,关闭终端后服务也就关闭了, 经测试是这样的。

nohup node ***.js &

B. JS脚本怎么运行

常见的执行js代码都是放入到HTML引入后,然后通过HTML文件来执行胡查看代码。显然这是比较麻烦的事情,如果电脑里面安装了node.js,可以使用node来直接使用node来运行想要运行的js文件。

<html>

<body>

<script language="javascript">

function Card(owner,rate)

{

this.Owner=owner;

this.Rate=rate;

}

var mycard = new Card("X","150");

document.write("name:"+mycard.Owner+"speed:"+mycard.Rate);

</script>

</body>

</html>

(2)持续运行js脚本扩展阅读:

JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

脚本简单地说就是一条条的文字命令,这些文字命令是我们可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。

C. JS 网页脚本 重复使用

建一个js为扩展名的文件例如,myjquery.js 把你的js代码放进去,就<script type="text/javascript"> 和</script>之间的内容,然后再html页面中使用<script src="./myjquery.js" type="text/javascript"></script>导入进去。注意src的路径问题,./表示当前路径,../表示上一目录的路径。这个路径找对了,所有的js方法和变量都能复用了。

D. java程序中运行js脚本

我们要在Java中执行JavaScriptMethods.js中的execute(s1,s2)方法,JavaScriptMethods.js文件内容如下:

function execute(s1, s2){
return s1 + s2;
}

首先需要定义一个接口,这个接口中给出与要执行的JavaScript方法一样的方法签名,我们定义接口Methods,它的内容如下:

/**
* 接口中的方法签名必须与要执行的JavaScript方法一致
* @author yuncong
*
*/
public interface Methods {
public String execute(String s1,String s2);
}

然后,就可以用脚本引擎执行JavaScriptMethods.js中execute(s1,s2)方法了,具体内容写在下面的ExecuteScript类中的:

import java.io.FileReader;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class ExecuteScript {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
String path = ExecuteScript.class.getResource("").getPath();
System.out.println(path);
// FileReader的参数为所要执行的js文件的路径
engine.eval(new FileReader(path + "JavaScriptMethods.js"));
if (engine instanceof Invocable) {
Invocable invocable = (Invocable) engine;
Methods executeMethod = invocable.getInterface(Methods.class);
System.out.println(executeMethod.execute("li", "yuncong"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

运行ExecuteScript类,输出如下:

?

1
2

/C:/Users/yuncong/git/login/target/classes/executescript/
liyuncong