如何在ejs

时间:2018-04-02 10:00:08

标签: javascript jquery node.js express

我开始学习NodeJ并构建一个示例应用程序。在我的应用程序中,我需要实现一个内联编辑器(Bootstrap Inline编辑器)。为此,我包括必要的bootstrap-editable然后我开始运行我的应用程序,然后我得到,

ReferenceError: $ is not defined in NodeJs

然后我安装npm install jquery来安装jquery并添加 路线 $ = require('jquery')内的var index.js

require("jsdom").env("", function(err, window) {
  if (err) {
    console.error(err);
    return;
  }
  var $ = require("jquery")(window);
    $('#username-<%= sysHead %>').editable({
    type: 'text',
    pk: '<%= row[sysHead] %>',
    url: '/update_systemConfiguration',
    dataType: 'json',
    title: 'Enter username'
  });
  //modify buttons style
  $.fn.editableform.buttons = 
    '<button type="submit" class="btn btn-primary btn-sm editable-submit"><i class="fa fa-check" aria-hidden="true"></i></button>' +
    '<button type="button" class="btn btn-default btn-sm editable-cancel"><i class="fa fa-times" aria-hidden="true"></i></button>';
});

但我仍然在浏览器控制台中收到 ReferenceError:$未在NodeJs 中定义。

1 个答案:

答案 0 :(得分:0)

您使用的jsdom语法已过时且不再受支持。这可能是问题的一部分。

您可以按照以下步骤将jqueryjsdom一起使用:

通过NPM安装:

npm install jsdom --save-dev
npm install jquery --save-dev

JavaScript的:

var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { window } = new JSDOM('<html></html>');
var $ = require('jquery')(window);