Javascript 如何在没有终端命令的情况下运行node js应用程序
我是node.js的新手,我有一个简单的node.js项目,只有一个js文件(vpn.js),它使用一个模块和一个index.html,该文件使用vpn.js中的函数打开。我已经安装了这个软件包,require函数可以找到它的模块。我有一个vpn.js文件和一个index.html(在index.html中,我只有一个带有src的视频标签)。现在我的问题是,我应该始终使用终端运行代码吗?我应该如何主持这个项目?基本上没有客户端可以在web上运行终端命令。(注意:我使用的是Windows而不是Linux) 这是我的js文件的代码:Javascript 如何在没有终端命令的情况下运行node js应用程序,javascript,html,node.js,Javascript,Html,Node.js,我是node.js的新手,我有一个简单的node.js项目,只有一个js文件(vpn.js),它使用一个模块和一个index.html,该文件使用vpn.js中的函数打开。我已经安装了这个软件包,require函数可以找到它的模块。我有一个vpn.js文件和一个index.html(在index.html中,我只有一个带有src的视频标签)。现在我的问题是,我应该始终使用终端运行代码吗?我应该如何主持这个项目?基本上没有客户端可以在web上运行终端命令。(注意:我使用的是Windows而不是Li
const openvpnmanager = require('node-openvpn');
const opts = {
host: '192.168.1.7', // normally '127.0.0.1', will default to if undefined
port: 8080, //port openvpn management console
timeout: 1500, //timeout for connection - optional, will default to 1500ms if undefined
logpath: 'log.txt' //optional write openvpn console output to file, can be relative path or absolute
};
const auth = {
user: 'vpnUserName',
pass: 'vpnPassword',
};
const openvpn = openvpnmanager.connect(opts)
// will be emited on successful interfacing with openvpn instance
openvpn.on('connected', () => {
//openvpnmanager.authorize(auth);
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
fs.readFile('index.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(5500);
});
// emits console output of openvpn instance as a string
openvpn.on('console-output', output => {
console.log(output);
});
// emits console output of openvpn state as a array
openvpn.on('state-change', state => {
console.log(state)
});
// emits console output of openvpn state as a string
openvpn.on('error', error => {
console.log(error)
});
您可以通过设置自动运行节点服务器来实现这一点。 这里有一些步骤
您可能还想考虑使用UpStudio实用程序。它将允许您像服务一样启动、停止和重新启动节点应用程序。Upstart可以配置为在应用程序崩溃时自动重新启动
安装upstart:sudo apt-get install upstart
为您的应用程序创建一个简单的脚本,该脚本类似于:
#!upstart
description "my app"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
env NODE_ENV=production
exec node /somepath/myapp/app.js >> /var/log/myapp.log 2>&1
然后将脚本文件(myapp.conf)复制到/etc/init,并确保其标记为可执行文件。然后可以使用以下命令管理应用程序:
sudo start myapp
sudo stop myapp
sudo restart myapp
使用pkg-npm包。这将为nodejs项目创建一个可执行文件。您可以为Windows、mac或linux创建可执行文件
使用以下命令全局安装pkg
npm install -g pkg
安装后,请使用:
pkg app.js[项目的输入文件]
创建可执行文件
有关pkg的更多信息,请查看谢谢您的回答,但我使用的是windows。也许我应该说CMD而不是terminal。