jquery - 需要 ('jquery' )未使用 Elixir/Gulp 定义

标签 jquery laravel gulp laravel-elixir

我正在使用 Elixir,但我无法使用 JQuery 来处理任何 JS 我一直收到此消息:

var jQuery = require('jquery'); //Uncaught ReferenceError: require is not defined

这是我的 Elixir 函数:

elixir(function(mix) {
    mix.sass('app.scss');
    mix.copy('node_modules/font-awesome/fonts', 'public/fonts');
    mix.copy('node_modules/bootstrap-sass/assets/fonts', 'public/fonts');
    mix.copy(['node_modules/bootstrap-sass/assets/javascripts/bootstrap.js',
                'node_modules/jquery/dist/jquery.js',
                'node_modules/jquery-ui/jquery-ui.js',
                'node_modules/fullcalendar/node_modules/moment/moment.js',
                'node_modules/fullcalendar/dist/fullcalendar.js',
                'node_modules/fullcalendar/dist/gcal.js',
                'node_modules/dropzone/dist/dropzone.js',
                'node_modules/jquery-datetimepicker/jquery.datetimepicker.js'
            ], 'resources/assets/js/vendors');
    mix.copy('resources/assets/js/vendors/jquery.js', 'public/js');
    // mix.copy('resources/assets/js/vendors/jquery-ui.js', 'public/js');
    // mix.copy('resources/assets/js/vendors/bootstrap.js', 'public/js');
    mix.scripts(['vendors/jquery-ui.js',
                'vendors/bootstrap.js',
                'vendors/contentflow.js',
                'vendors/qTip/jquery.qtip.min.js',
                'vendors/moment.js',
                'vendors/fullcalendar.js',
                'vendors/dropzone.js',
                'vendors/jquery.datetimepicker.js'
            ], 'public/js/vendors.js');
    mix.scripts(['date-time-pickers.js',
                'main.js',
                'search-page.js',
                'social.js',
                'booking-picker.js'
            ], 'public/js/app.js');
});

知道会发生什么吗? 尝试过

mix.browsesify

但它会返回

[Laravel Elixir] Browserify Failed!: Cannot find module 'moment'``

感谢您的帮助!

最佳答案

看起来警告 Uncaught ReferenceError: require is not Defined 是您的 IDE 发出的警告,因为它不理解这些脚本如何协同工作。 (在 Laravel Elixir 中使用 javascript 时,我经常收到此警告)。

真正的问题是缺少moment模块。看起来这个包没有安装(正确)。您可以尝试重新安装它 (npm install --save moment) 或删除 node_modules 文件夹并再次运行 npm install

看看https://momentjs.com/有关此包的更多信息。包括除 npm 之外的其他包管理器的小型安装指南。

免责声明。我不确定这是否适合您。根据我的经验,解决 npm/Laravel Elixir 问题有时会很麻烦。我没有确保解决问题所需的所有信息。如果您可以包含 package.json 文件的内容或者粘贴来自 npm 的错误日志,那就太好了。请告诉我。

关于jquery - 需要 ('jquery' )未使用 Elixir/Gulp 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749648/

相关文章:

PHP页面突然重定向

javascript - 使用 Gulp Browserify 的主干模板

php - Laravel 在所有 api 路由中使用 Web 身份验证重定向到主页

postgresql - 在 ssl 模式下使用 PostgreSQL 的 Laravel

php - 响应::json() - Laravel 5.1

Gulp 4 watch gulp.series 只运行一次

css - Gulp 观看所有 .scss 文件并将其编译为 css 作为 sibling ?

javascript - 背景图像缩放效果。

javascript - OnClick 以及监听器不工作

php - datepicker 回调在 IE 中不起作用