我开始学习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 中定义。
答案 0 :(得分:0)
您使用的jsdom
语法已过时且不再受支持。这可能是问题的一部分。
您可以按照以下步骤将jquery
与jsdom
一起使用:
通过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);