Node.js javascript – 从外部脚本服务器端调用函数

每当在联系我们页面上提交表单时,我都希望我的Node.JS网站发送一封电子邮件。

HTML页面

<form class="contact_us_form" method="post"> <button type="submit" >Submit</button> </form> 

Public.js

 router.post('/contact_us', function(req, res, next) { console.log('FORM SUBMITTED FROM CONTACT_US PAGE'); sendMail(); }); 

utils.js

 function sendMail() { //function body } 

当我按下提交button的HTML然后sendMail被调用,但它不能被发现,所以HTML页面和public.js文件链接正确,但public.js和utils.js不是。

我将如何去关联函数“sendMail”到Public.js? 这个函数是为了在服务器上运行,而不是在客户端上运行。

NodeJS使用模块的概念。 你会从utils.js导出utils.js

 exports.sendMail = sendMail; 

…并在public.js导入:

 var sendMail = require("./utils.js").sendMail; // ... sendMail(/*...*/); 

要么:

 var utils = require("./utils.js"); // ... utils.sendMail(/*...*/); 

这是一个完整的例子:

utils.js

 function sendMail() { console.log("I'm sending mail now..."); } exports.sendMail = sendMail; 

public.js

 var utils = require("./utils.js"); utils.sendMail(); 

运行它:

 $ node public.js
我正在发送邮件...