【问题标题】:Express: $ not found from Jade fileExpress: $ 未从 Jade 文件中找到
【发布时间】:2015-01-28 11:48:45
【问题描述】:

我正在使用 Express 框架和 Jade 创建一个 Web 应用程序。

在我的一个 Javascript 文件中,找不到$。但是我在 Jade 文件中使用了脚本标签来包含 jQuery。 jQuery 也安装在我的 node_modules 文件夹中。

这是我的 Jade 文件:

extends layout

block content
    script(src='/javascripts/vendor/jquery.min.js')
    script(src='/javascripts/vendor/jquery.validate.min.js')
    script(src='/javascripts/validate.js')
    .....

这是我的 JavaScript 文件 (validate.js):

$(document).ready( function() {

    $('#signupForm').validate({
    ....
    });

});

我从 JSHint 收到以下错误:

 public/javascripts/validate.js
  1 |$(document).ready( function() {
     ^ '$' is not defined.
  3 |    $('#signupForm').validate({
         ^ '$' is not defined.

【问题讨论】:

  • 查看页面源代码。并打开 jquery 链接...可能是路径问题

标签: javascript jquery node.js express jshint


【解决方案1】:

您应该通过配置定义全局变量,否则jshint 将尝试将$ 视为局部变量。

而且你没有 $ 局部变量。

你可以在文件中写注释

/*global $:false */

或创建.jshintrc 以避免此问题。

"globals": {
    "$": false,
    "jQuery": false
}

【讨论】:

猜你喜欢
  • 2016-04-09
  • 2019-04-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
相关资源
最近更新 更多