Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node.js web应用程序中包含jQuery代码?_Javascript_Jquery_Html_Node.js - Fatal编程技术网

Javascript 如何在node.js web应用程序中包含jQuery代码?

Javascript 如何在node.js web应用程序中包含jQuery代码?,javascript,jquery,html,node.js,Javascript,Jquery,Html,Node.js,因此,我一直在使用node.js开发一个(相当简单的)RESTful应用程序,我已经做到了最后一点,现在唯一缺少的是使用jQuery操作html页面,这样我就可以编辑html的内容——这让我非常恼火 我参加了try.jquery.com教程,非常顺利;我决不会称自己是jquery的大师,但我在编写基本html操作代码方面几乎没有什么困难,只是我从未真正考虑过jquery代码将走向何方。我尝试了很多不同的方法,但只有一种(非常不方便的)方法有效,所以我想知道是否可以得到一些澄清 (注意:所有js文

因此,我一直在使用node.js开发一个(相当简单的)RESTful应用程序,我已经做到了最后一点,现在唯一缺少的是使用jQuery操作html页面,这样我就可以编辑html的内容——这让我非常恼火

我参加了try.jquery.com教程,非常顺利;我决不会称自己是jquery的大师,但我在编写基本html操作代码方面几乎没有什么困难,只是我从未真正考虑过jquery代码将走向何方。我尝试了很多不同的方法,但只有一种(非常不方便的)方法有效,所以我想知道是否可以得到一些澄清

(注意:所有js文件都在根文件夹中,index.html在root/public中;我基本上只是通过npm/package.json运行app.js)

我已经尝试在主app.js文件中包含jQuery代码:

app.js

index.html

 <script>
        window.$ = window.jQuery = require('./node_modules/jquery');
  </script>
  <script>
        var UI = require('./controllers/UI');
        UI.init(window);
  </script>
index.html

 <script>
        window.$ = window.jQuery = require('./node_modules/jquery');
  </script>
  <script>
        var UI = require('./controllers/UI');
        UI.init(window);
  </script>

吸气器
我也尝试过(这很有效,但如果可能的话,我不知道如何处理其他.js文件中的代码):

index.html

 <script>
        window.$ = window.jQuery = require('./node_modules/jquery');
  </script>
  <script>
        var UI = require('./controllers/UI');
        UI.init(window);
  </script>

吸气器
$(文档).ready(函数(){
$('button')。打开('click',$('h1')。文本(“我在这里”);
控制台日志('kpa');
});
我也尝试过不同的变体(例如,在一个函数中包含ready函数的第二部分(或不包含),在dom.ready函数中使用onClick事件等等),但唯一有效的是最后一种方法


理想情况下,我希望能够在app.js中使用jQuery代码,而不是在自己的文件中使用;或者,如果出于某种原因必须将其包含在html文件中,我至少需要能够与脚本块中的代码进行通信,以便能够从数据库中为其提供信息,等等。

请记住,jQuery需要一个窗口对象才能工作。jquery的第一个功能是作为dom查询,dom位于窗口对象中。因此,必须加载jquery并将其附加到窗口对象

作为节点应用程序,您将有一个浏览器窗口作为应用程序的视图。尝试将jquery从
CDN
添加到该窗口中,将您的requires添加到该窗口中,瞧,包含jquery的范围(窗口)现在被全局传递到新需要的文件中

index.html

 <script>
        window.$ = window.jQuery = require('./node_modules/jquery');
  </script>
  <script>
        var UI = require('./controllers/UI');
        UI.init(window);
  </script>

window.$=window.jQuery=require('./节点\模块/jQuery');
变量UI=require('./控制器/UI');
UI.init(窗口);

现在,VarUI,在我的例子中是一个模块,包含了可能的重复项,我不认为我会遵循它,只是在索引html中加载jquery。然后在您想要使用jquery的地方需要模块,然后您就有了它,您只需配置您的模块,以便它可以获得一些参数,然后您将jquery传递给它。所以requirejquery,requiremodule,传递参数,比如MyModule(window.$)-(我们将jquery传递给模块),然后您可以在模块下使用jquery。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
    <title>Inspiratorator</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <script>
        $(document).ready(function () {
        $(' button ').on( 'click', $('h1').text("I'm here") );
        console.log('kpa'); 
    });
</script>
 <script>
        window.$ = window.jQuery = require('./node_modules/jquery');
  </script>
  <script>
        var UI = require('./controllers/UI');
        UI.init(window);
  </script>