Javascript 如何在node.js web应用程序中包含jQuery代码?
因此,我一直在使用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.htmlJavascript 如何在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文
<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>