如何从节点js客户端

时间:2017-04-02 20:29:16

标签: javascript html node.js init

我正在使用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或其他任何东西,因为我是一个初学者,开发人员使用的方法听起来如此简单和诱人。

1 个答案:

答案 0 :(得分:3)

我希望这个答案可以帮到你:

我正在使用快递,所以我这样做是为了解决你的问题!

main.js 文件的位置:

enter image description here

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

enter image description here