未捕获的ReferenceError:jQuery未定义,即使jQuery是第一个导入的脚本

在Uncaught ReferenceError之前已经问过这个问题:jQuery没有定义和Uncaught ReferenceError:$没有定义? 并测试是否加载了jquery而不使用文档就绪事件

但是,我发现浏览器上的错误为

main.js:88 Uncaught ReferenceError: jQuery is not defined at main.js:88 

我的main.js看起来像

 (function($) { 'use strict'; // all functions here })(jQuery); 

我在index.html进行导入

   <!---->    

所以,根据其他答案, jQuery是第一个导入。 我正在使用gulp作为构建系统。
我的项目是从https://github.com/google/web-starter-kit分叉的

我跑了gulp serve:dist和看

 $ gulp serve:dist [11:31:41] Requiring external module babel-register [11:31:43] Using gulpfile ~/WebstormProjects/my-website/gulpfile.babel.js [11:31:43] Starting 'clean'... [11:31:43] Finished 'clean' after 27 ms [11:31:43] Starting 'default'... [11:31:43] Starting 'styles'... [11:31:43] styles all files 7.41 kB [11:31:43] Finished 'styles' after 869 ms [11:31:43] Starting 'html'... [11:31:44] Starting 'scripts'... [11:31:44] Starting 'images'... [11:31:44] Starting 'copy'... [11:31:44] html index-rwd.html 14.96 kB [11:31:44] html index.html 3.94 kB [11:31:44] html all files 18.9 kB [11:31:44] Finished 'html' after 401 ms [11:31:45] scripts all files 99.11 kB [11:31:45] Finished 'scripts' after 1.83 s [11:31:45] copy all files 6.11 kB [11:31:45] Finished 'copy' after 1.64 s [11:31:45] images all files 542.87 kB [11:31:45] Finished 'images' after 1.79 s [11:31:45] Starting 'copy-sw-scripts'... [11:31:45] Finished 'copy-sw-scripts' after 3.05 ms [11:31:45] Starting 'generate-service-worker'... Total precache size is about 222 B for 1 resources. [11:31:45] Finished 'generate-service-worker' after 8.64 ms [11:31:45] Finished 'default' after 2.85 s [11:31:45] Starting 'serve:dist'... [11:31:45] Finished 'serve:dist' after 19 ms [WSK] Access URLs: ------------------------------------- Local: http://localhost:3001 External: http://192.168.1.65:3001 ------------------------------------- UI: http://localhost:3002 UI External: http://192.168.1.65:3002 ------------------------------------- [WSK] Serving files from: dist/public 

我究竟做错了什么?

您可以尝试使用它。 你在多个浏览器中得到同样的错误吗?

 (function($) { 'use strict'; // all functions here })(window.jQuery); 

有很多问题。

首先,在index.html ,我删除了该部分

   

gulp使用它来组合JS并将它们缩小为1个文件。 修复是添加以下内容

      

其次,在gulp scripts任务中,我不得不告诉gulp要复制的所有脚本。 修复看起来像

 gulp.task('scripts', () => gulp.src([ // Note: Since we are not using useref in the scripts build pipeline, // you need to explicitly list your scripts here in the right order // to be correctly concatenated './app/scripts/vendors/jquery-1.9.1.min.js', './app/scripts/vendors/waypoints.min.js', './app/scripts/main.js' // Other scripts ]) 

最后,正如@Wolfgang Leon在Gulp中所提到的- jQuery没有定义 , jQuery v3.2.0在某种程度上是不兼容的,所以我用jQuery v1.9.1替换它

这有助于我完全解决问题。 #learnednewthings