javascript - Express:从 Jade 文件中找不到 $

标签 javascript jquery node.js express jshint

我正在使用 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.

最佳答案

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

并且您没有 $ 局部变量。

您可以在文件中写注释

/*global $:false */

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

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

关于javascript - Express:从 Jade 文件中找不到 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212023/

相关文章:

javascript - 将 Base64 字符串转换为字节数组

javascript - module.js 的 Ionic Sere 错误

php - 使用带引号的 bbcode 插件时需要调整 tinymce

javascript - 按住 shift 时不要保持 jQuery 可调整大小的纵横比

javascript - 在表单字段外单击时隐藏自动填充下拉菜单

node.js - async.each/forEach 第三个参数(回调)在每个间隔后触发

node.js - 两个回调可以同时(并行)执行代码吗?

javascript - HTML,使用 javascript 调整 div 高度

Javascript:将 Math.sqrt 转换为 int?

javascript - 按位置而不是名称识别列