javascript - 如何使用 npm jquery 模块?

标签 javascript jquery node.js npm

如果我在多个模块中使用 requirenode 中的 jquery 应该如何?我应该将它定义为全局还是应该只在我需要的每个模块中使用 require('jquery)`?

我在尝试使用该软件包时遇到错误。

TypeError: Object function ( w ) {
            if ( !w.document ) {
                throw new Error( "jQuery requires a window with a document" );
            }
            return factory( w );
        } has no method 'isArray'

它看起来像当前版本中的一个错误,因为它不应该根据官方文档检查我是否在浏览器中运行它。 another post 中也提到了这个问题。 .如答案之一所述,它适用于版本 1.8.3

最佳答案

要在 node 中使用 jquery,你需要有两个单独的 node 包安装。

  1. jquery
  2. jsdom 创建一个 jquery 可以使用的虚拟窗口对象。

安装:

npm install jquery
npm install jsdom

在代码中:

var jsdom = require("jsdom").jsdom;
global.$ = require('jquery/dist/jquery')(jsdom().createWindow());

或者,使用更新版本的 jsdom:

require("jsdom").env("", function(err, window) {
    if (err) {
        console.error(err);
        return;
    }

    var $ = require("jquery")(window);
});

使用 global.$ 将使 jquery 对象($) 在您的项目中全局可用。

关于javascript - 如何使用 npm jquery 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21674080/

相关文章:

javascript - 用 javascript 覆盖 DOM 元素

javascript - vue.js 不更新嵌套 v-for 循环中的属性

javascript - 在 Angular 应用程序中加载配置数据

javascript - 如何维护 mongodb 中用户可定制的实体顺序?

javascript - HTML 和 JavaScript : Remove a complete tag with dynamic content inside from string

jquery .hover 和 .delay

php - Ajax 响应出错

node.js - SequelizeDatabaseError : column "id_strain" of relation "strain" is already an identity column

javascript - 有没有一种方法可以用 MongoDB 识别的 JSON 来表示 ISODate 和 ObjectID 字段?

javascript - 无法使用谷歌翻译进行翻译