将 jquery 与 nodejs 一起使用时的基本错误

     2023-03-08     269

关键词:

【中文标题】将 jquery 与 nodejs 一起使用时的基本错误【英文标题】:Basic error when using jquery with nodejs 【发布时间】:2014-01-16 22:06:45 【问题描述】:

我正在尝试在我的项目中使用一些 jquery,但当我尝试使用它时,我在复制代码时遇到了一个错误,并且无法获得任何谷歌帮助

 var jquery = require('jquery');
 var $ = jquery.create();
                ^
 TypeError: Object function ( w ) 
     if ( !w.document ) 
          throw new Error( "jQuery requires a window with a document" );
     
     return factory( w );
  has no method 'create'

长篇大论:

我正在尝试从我拥有的一些 html 中获取纯文本。

我希望使用.text() 应该可以做到这一点的函数。

我的结果代码应该是:

console.log($(data).text());

【问题讨论】:

您可能完全做错了事。你想做什么? 你在使用this库吗? 我在依赖项中添加了“jquery”:">= 0.0.0" 您似乎在服务器端使用 jQuery(所以在 node.js 内部),并且 jQuery 试图找到浏览器窗口的文档。但是由于您没有在浏览器中运行,因此找不到任何文档。恐怕 SLaks 的评论是正确的。 您是否在 Windows (OS) 上运行 【参考方案1】:

尝试:

var jsdom = require("jsdom").jsdom;
var markup = '<html><body><h1 class="example">Hello World!</h1><p class="hello">Heya Big World!</body></html>';
var doc = jsdom(markup);
var window = doc.parentWindow;
var $ = require('jquery')(window)
console.log($('.example').text());

基本上,您可以使用 jsdom 模块从您的标记中创建一个 DOM,然后您可以像在浏览器中使用 jquery 一样使用它。

【讨论】:

感谢第 5 行 var $ = require('jquery')(window) 将我的 jQuery Insane Asylum 之旅推迟了几周!【参考方案2】:

您不能在服务器上使用 jquery,因为它明确需要 windowwindow.document。试试cheerio

【讨论】:

是的。好像我做不到。不幸的是,cheerio 没有简单的 html->plaintext 但我会继续寻找 这对我来说似乎没有意义。如果不能在服务器端使用 Node.js 的 jQuery 模块,它有什么用?我的意思是,如果我想在客户端使用它,那么我只需将它包含在页面上。 所以,Node.js 没有 jQuery,这就是问题所在。它在 npm 上的事实并没有使它成为 Node.js 模块。 有一些库可以让你在服务器端使用 jQuery:***.com/questions/1801160/…【参考方案3】:

我遇到了同样的问题。为了解决这个问题,我安装了旧版本的 jquery: npm install jquery@1.8.3

【讨论】:

【参考方案4】:

过去几个月都可以正常工作。但后来他们改变了一些东西,现在没有了。我可以在没有窗口的情况下运行 jquery,它在节点 js 上运行良好。但由于某种原因,不是最新版本。真奇怪。

我们要做的就是这样:

$ = 要求("jquery"); $("..).find(".message").html("Hello World!");

【讨论】:

将 Nodejs 与 Typescript 一起使用

】将Nodejs与Typescript一起使用【英文标题】:UsingNodejswithTypescript【发布时间】:2012-12-1412:58:06【问题描述】:我想在我的typescript项目中使用Nodejs,并从https://github.com/borisyankov/DefinitelyTyped/tree/master/node下载了node.d.ts但是VisualStudio在... 查看详情

PySide:将 QItemSelectionModel 与 QListView 一起使用时的 Segfault(?)

】PySide:将QItemSelectionModel与QListView一起使用时的Segfault(?)【英文标题】:PySide:Segfault(?)whenusingQItemSelectionModelwithQListView【发布时间】:2013-10-1305:38:21【问题描述】:与此完全相同的问题:ConnectingQTableViewselectionChangedsignalproduce... 查看详情

将 JWT 与 nodejs 和 express 一起使用

】将JWT与nodejs和express一起使用【英文标题】:UsingJWTwithnodejsandexpress【发布时间】:2020-04-3009:00:29【问题描述】:我正在尝试在后端添加JWT而不是express-session。我不知道如何将它与nodejs+路由一起使用。我试过这个,所以我可以在... 查看详情

将 kafka 与 jpa 一起使用时的良好做法

】将kafka与jpa一起使用时的良好做法【英文标题】:Goodpracticewhenusingkafkawithjpa【发布时间】:2018-12-0517:41:18【问题描述】:我目前在一个使用JPA和Kafka的项目中。我正在尝试找到一套组合这些操作的良好做法。在现有代码中,生... 查看详情

将命名管道与后台进程一起使用时的不同行为

】将命名管道与后台进程一起使用时的不同行为【英文标题】:Varyingbehaviorwhenusingnamedpipewithbackgroundprocess【发布时间】:2019-03-1817:42:15【问题描述】:我很难理解命名管道。我有以下脚本:#!/bin/bashfunctiona_or_becho\'funcbegins\'whiletru... 查看详情

将 += 与字符串一起使用时的 Stange 段错误

】将+=与字符串一起使用时的Stange段错误【英文标题】:Stangesegfaultwhenusing+=withstrings【发布时间】:2009-05-1317:21:20【问题描述】:在这个C++中一定有一些我没有意识到的明显的东西。load(string&filename)stringcommand;chardelimiter=\'/\';si... 查看详情

在哪里以及如何将 nodejs 与 angularjs 一起使用

】在哪里以及如何将nodejs与angularjs一起使用【英文标题】:whereandhowtousenodejswithangularjs【发布时间】:2017-08-0504:04:17【问题描述】:我是UI框架开发的新手。目前我的要求是使用anuglarjs和nodejs。我知道很少有人像我一样想知道确... 查看详情

将 Autodesk forge 与 mapbox 一起使用时的问题

】将Autodeskforge与mapbox一起使用时的问题【英文标题】:ProblemsinusingAutodeskforgewithmapbox【发布时间】:2021-08-3015:13:54【问题描述】:现在我正在使用Autodeskforge在网站上渲染3D建筑。我使用React.js作为前端框架。事情进展顺利,但有... 查看详情

将 PostgreSQL JSON 类型与 NodeJS 一起使用的最佳方法是啥

】将PostgreSQLJSON类型与NodeJS一起使用的最佳方法是啥【英文标题】:WhatisthebestwaytousePostgreSQLJSONtypeswithNodeJS将PostgreSQLJSON类型与NodeJS一起使用的最佳方法是什么【发布时间】:2014-04-1623:23:46【问题描述】:我在这里面临一些分析瘫... 查看详情

将 NodeJs 与 Firebase 一起使用 - 安全性

】将NodeJs与Firebase一起使用-安全性【英文标题】:UsingNodeJswithFirebase-Security【发布时间】:2013-01-1809:30:46【问题描述】:由于需要做一些服务器端代码-主要是发送电子邮件,我决定使用Nodejs和Express作为服务器端元素以及Firebase来... 查看详情

将 Querydsl 与 Spring Data 一起使用时的最佳实践

】将Querydsl与SpringData一起使用时的最佳实践【英文标题】:BestpractisewhenusingQuerydslwithSpringData【发布时间】:2015-11-1208:45:56【问题描述】:使用SpringDatanadQuerydsl我们可以只声明存储库接口并跳过实现类。一些具有特定名称或使用@Q... 查看详情

将ngrx效果与withLatestFrom运算符一起使用时的奇怪行为

】将ngrx效果与withLatestFrom运算符一起使用时的奇怪行为【英文标题】:WeirdbehaviorwhenusingngrxeffectwithwithLatestFromoperator【发布时间】:2020-06-1101:45:25【问题描述】:我有下面的选择器exportconstselectUserData=createSelector(selectState,state=>re... 查看详情

将placement new 与存储类一起使用时的额外构造

】将placementnew与存储类一起使用时的额外构造【英文标题】:Extraconstructionwhenusingplacementnewwithastorageclass【发布时间】:2020-01-2110:18:35【问题描述】:在我想避免动态内存分配的情况下,我将new运算符替换为本质上使用某些静态... 查看详情

将点到站点与 Azure *** 网关一起使用时的私有 DNS 方法?

】将点到站点与Azure***网关一起使用时的私有DNS方法?【英文标题】:ApproachforprivateDNSwhenusingPoint-to-SitewithAzure***Gateway?【发布时间】:2019-01-0723:07:23【问题描述】:我需要连接到托管在Azure中的专用网络的小型开发和支持团队。... 查看详情

如何将 nodeJS 集群与 mySQL 池集群一起使用?

】如何将nodeJS集群与mySQL池集群一起使用?【英文标题】:HowtousenodeJSclusterwithmySQLpoolcluster?【发布时间】:2017-12-1712:12:13【问题描述】:快速提问如果我使用4个工作人员(我的应用程序的4个实例)创建一个节点集群应用程序,... 查看详情

需要有关如何将 Postman 的 Newman 与 Nodejs 一起使用的示例吗?

】需要有关如何将Postman的Newman与Nodejs一起使用的示例吗?【英文标题】:NeedexamplesonhowtousePostman\'sNewmanwithNodejs?【发布时间】:2016-12-1204:20:39【问题描述】:page上的库部分显示了如何运行Postman集合并将Options对象作为参数传递。... 查看详情

将 SymmetricDS 与 Azure SQL 数据库一起使用时的权限问题

】将SymmetricDS与AzureSQL数据库一起使用时的权限问题【英文标题】:PermissionissuewhenusingSymmetricDSwithAzureSQLDatabase【发布时间】:2018-06-0505:17:41【问题描述】:我有两个引擎:postgres.properties(主节点)和azure.properties。两者都在同一... 查看详情

将 DATE_DIFF 与 MAX(DATE) 一起使用时的问题

】将DATE_DIFF与MAX(DATE)一起使用时的问题【英文标题】:IssueswhenusingDATE_DIFFwithMAX(DATE)【发布时间】:2017-11-2308:14:23【问题描述】:我正在BigQuery中处理GoogleAnalytics数据,我正在尝试计算IF(COUNT(DISTINCThits.transaction.transactionId)&gt;0,(M... 查看详情