0

我正在使用 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/]
4

1 回答 1

0

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

如果你需要你的代码同时在 Node 和浏览器中运行,你需要使用一个打包器,比如WebpackBrowserify。但是,解释这些超出了您的问题范围。我会先阅读教程,然后在您遇到具体问题时再回来。

于 2018-11-21T15:31:51.457 回答