我正在使用html模板,我注意到开发人员不使用RequireJS或其他任何东西来要求并从其他节点文件中调用不同的函数。相反,他们在html文件中使用它来初始化并调用函数:
<script src="../../assets.js/test.js"></script>
<script type="text/javascript">
$(document).ready(function(){
test.initSomeFunction();
});
</script>
我在assets/js/test.js
中有以下代码,它在javascript中定义initSomeFunction
:
test = {
initSomeFunction: function() {
//Some code
}
initAnotherFunction: function() {
//More code
}
}
(如果有人可以告诉我这个方法的名称,以便我可以对其进行更多的研究,那会很有帮助。)
当我尝试在主目录/main.js
中的节点应用程序中执行相同操作时,我的问题就出现了。节点应用程序可以正常工作,但是当我添加这样的东西时:
test2 = {
initMyFunction: function() {
console.log("I finally decided to work! Good luck...");
}
}
并修改我的html文件,如下所示:
<script src="../../main.js"></script>
<script type="text/javascript">
$(document).ready(function(){
test.initSomeFunction();
test2.initMyFunction();
});
</script>
然后它将无法正常工作。有人可以指出我正确的方向,因为我甚至不知道谷歌是什么。我试图避免使用RequireJS或其他任何东西,因为我是一个初学者,开发人员使用的方法听起来如此简单和诱人。
答案 0 :(得分:3)
我希望这个答案可以帮到你:
我正在使用快递,所以我这样做是为了解决你的问题!
main.js 文件的位置:
修改 app.js 添加:
app.use(express.static(path.join(__dirname, '/')));
然后,在视图文件中:
<html>
<head>
<script src="public/javascripts/jquery-1.10.2.min.js"> </script>
<script src="main.js"></script>
</head>
<body>
<script>
$(function () {
//test.initSomeFunction();
test2.initMyFunction();
})
</script>
</body>
</html>
打开chrome开发者工具。你会看到结果。