Sublime Text 3构建问题Haml / jQuery $未定义

时间:2018-11-15 12:43:03

标签: javascript jquery sublimetext3 haml sublime-build

我正在使用Sublime Text 3编辑器

以下是错误

jquery引用的加载应该正确。

在file.haml上是这样的

%script{ :src => "js/jquery-3.3.1.min.js" , :type => "text/javascript"}
%script{ :src => "js/jquery-ui.min.js" , :type => "text/javascript"} 
%script{ :src => "js/submitEvent.js" , :type => "text/javascript"}

我的file.js在我的网页上也可以正常工作,但是,如果我尝试构建它...给出此错误

有人可以向我解释为什么吗?

/home/utexm/Scrivania/Testing-20/customForm/js/submitEvent.js:1
(function (exports, require, module, __filename, __dirname) { $(document).ready(function(){
                                                              ^

ReferenceError: $ is not defined
    at Object.<anonymous> (/home/utexm/Scrivania/Testing-20/customForm/js/submitEvent.js:1:63)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
[Finished in 0.1s with exit code 1]
[cmd: ['/usr/bin/node', '/home/utexm/Scrivania/Testing-20/customForm/js/submitEvent.js']]
[dir: /home/utexm/Scrivania/Testing-20/customForm/js]
[path: /usr/local/bin:/usr/local/sbin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/node_moduler/bin/]

1 个答案:

答案 0 :(得分:0)

网站使用jQuery的方式与Node不同。在浏览器中,jQuery被分配给全局变量(jQuery / $)。 Node使用require()或ES6 imports使jQuery在脚本中可访问。

如果需要在Node和浏览器中都运行代码,则需要使用WebpackBrowserify等捆绑程序。但是,要解释这些超出了您的问题范围。我将从阅读教程开始,然后在遇到具体问题时返回。