如何从节点js客户端调用节点js函数

How to call node js function from node js client side

我正在玩弄一个 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>

那就不行了。有人可以给我指出正确的方向吗,因为我什至不知道要做什么 Google。我尽量避免使用 RequireJS 或其他任何东西,因为我是一个完全的初学者,开发人员使用的方法听起来非常简单和诱人。

希望这个回答对您有所帮助:

我用的是express,解决你的问题!

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 开发者工具。你会看到结果。