我有一个名为index.js
的节点应用程序运行express。前段时间我决定将网站模板和我的节点应用程序合并在一起,一切正常。我可以使用以下代码将其他路径加载到节点应用程序(index.js
)中。
var express = require('express');
var app = express();
app.use('/assets', express.static(path.join(__dirname, '/assets')));
app.use(express.static(path.join(__dirname, '/')));
现在,我可以使用express提供不同的html页面,这意味着我的应用程序可以访问assets
文件夹和文件夹中的内容。
现在,assets文件夹包含名为js,css和...的其他文件夹.HTML模板正在加载js
中assets
文件夹中的所有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?");
}
}
我正在尝试从index.js
:
test.js
内的以下函数
// /index.js
app.get("/hey", function(req, res) {
res.send("wassaaa!!");
});
到目前为止,我已经尝试了以下代码,但它没有调用该函数:
$.get('/hey').success(function(response) {
$scope.final = response;
console.log(response);
});
我还在module.exports
中尝试了index.js
,但当我在test.js
中提出要求时,我收到一条错误消息,表示我无法在客户端上搜索内容侧。
我还查看了一些关于require.js的示例,但这些示例主要解释了如何在HTML文件中加载require.js而不是直接在js文件中加载。
总结一下,这就是我想要发生的事情:HTML文件触发test.js
中的函数,然后test.js
从index.js
获取一些数据并将其传递给再次使用HTML文件...我试图避免在HTML文件中编写javascript代码。
如果有人知道如何以更简单的方式实现我想要做的事情,我也愿意接受建议。提前谢谢......
答案 0 :(得分:0)
您应该在Route2
中编写该函数并将其导入View2
。例如,函数test.js
返回&#34; wassaaa !!&#34;在test.js中,在index.js中使用index.js
答案 1 :(得分:0)
您需要使用URL来实现这一目标。以下是您的开发环境的示例,假设您的应用正在侦听端口8800:
$.get('http://localhost:8800/hey').success(function(response) {
$scope.final = response;
console.log(response);
});