如何从客户端JavaScript调用节点function? (HTML)
我有一个名为index.js
的节点应用程序运行快车。 前一段时间,我决定合并一个网站模板和我的节点应用程序,一切工作正常到这里。 我能够通过使用下面的代码加载到节点应用程序( index.js
)的其他path。
var express = require('express'); var app = express(); app.use('/assets', express.static(path.join(__dirname, '/assets'))); app.use(express.static(path.join(__dirname, '/')));
现在,我可以使用快递服务不同的HTML页面,这意味着我的应用程序能够访问assets
文件夹和文件夹内的内容。
现在,资产文件夹包含其他文件夹,称为js,css和… HTML模板正在从assets
的js
文件夹加载所有的javascript代码。 请注意,javascript代码不会写入HTML文件中。 以下是我的HTML代码中如何触发脚本的示例:
<script src="../../assets/js/test.js"></script> <script type="text/javascript"> $(document).ready(function(){ test.theFunction(); }); </script>
这里是以下目录中的JavaScript代码:
// assets/js/test.js test = { theFunction: function() { res.send("finally..."); console.log("sup?"); } }
我想从test.js
index.js
调用以下函数:
// /index.js app.get("/hey", function(req, res) { res.send("wassaaa!!"); });
到目前为止,我已经尝试了下面的代码,但它不会调用该函数:
$.get('/hey').success(function(response) { $scope.final = response; console.log(response); });
我也试过index.js
module.exports
,但是当我在test.js
需要时,我得到一个错误,说我不能在客户端需要东西。
我也看了一些关于require.js的例子,但是这些例子大多解释了如何在HTML文件中加载require.js,而不是直接加载到js文件中。
总结起来,这里是我想要发生的事情:HTML文件触发test.js
的函数,然后test.js
从index.js
获取一些数据,并将其传递给HTML文件…我试图避免写HTML文件中的JavaScript代码。
如果有人知道如何以更简单的方式实现我所要做的,我也乐意提供build议。 提前致谢…
您应该在test.js
编写函数并将其导入到index.js
。 例如,返回“wassaaa !!”的函数getResponse()
在test.js和index.js中使用res.send(test.getResponse())