如何从Javascript中调用简单的Node.js脚本



我正在尝试创建一个具有SMS功能的基本web应用程序。然而,我有点不知所措。我使用的是Twilio的短信服务,但它使用Node.js;node send_text.js";,但是我尝试在不使用terminal命令的情况下调用send_text.js文件。

我知道您可以使用Express来托管您的web应用程序,但我不太确定您将如何从javascript调用Node.js文件。

下面是我想从Javascript调用的send_text.js文件。

var twilio = require('twilio');
// Find your account sid and auth token in your Twilio account Console.
var client = new twilio('TWILIO_ACCOUNT_SID', 'TWILIO_AUTH_TOKEN');
// Send the text message.
client.messages.create({
to: 'YOUR_NUMBER',
from: 'YOUR_TWILIO_NUMBER',
body: 'Hello from Twilio!'
});

本质上,我将使用Javascript检测数据中的更改,当检测到更改时,调用send_text.js文件向用户发送文本。

编辑:

我已经尝试了使用require的基本实现,但它似乎不能正常工作。

以下是我在index.html文件中的内容:

<script type="text/javascript" src="send_text.js"></script>
<input type="button" onclick="sendText()" value="run external javascript">

当我尝试调用send_text.js时,它有以下内容,我不会收到任何发送的短信:

function sendText()
{
var twilio = require('twilio');
// Find your account sid and auth token in your Twilio account Console.
var client = new twilio('TWILIO_ACCOUNT_SID', 'TWILIO_AUTH_TOKEN');
// Send the text message.
client.messages.create({
to: 'YOUR_NUMBER',
from: 'YOUR_TWILIO_NUMBER',
body: 'Hello from Twilio!'
});
}

然而,如果send_text.js具有以下内容,则该代码确实有效:

function sendText()
{
alert("Hello world")
}

您可以使用Nodejs中的子进程使用childProcess.fork(filepath);从另一个js文件调用js脚本根据我理解的问题。应该看起来像这个

let childProcess = require('child_process');
childProcess.fork('./send_text.js);

有关更多信息,请参阅

https://nodejs.org/api/child_process.html

您向我们展示的代码是一些示例源代码。您可以将相关部件直接复制并粘贴到您的Express应用程序中。

这里是Twilio开发人员的传道者。

你可以使用像Netlify这样的工具——这里有一个关于如何使用Twilio、Netlify和Serverless函数从静态网站发送文本消息的教程。

您还可以将Twilio的无服务器环境用于名为Twilio Functions的web应用程序——这里还有一个使用Twilio CLI的教程。

类似地,您可以使用Serverless Functions和React.js从盖茨比网站发送短信,或者使用AWS Lambda Function发送短信。

最新更新