require('jquery')未使用elixir / Gulp定义

时间:2015-09-23 21:17:29

标签: jquery laravel gulp laravel-elixir

我正在使用elixir,我无法使用JQuery开始工作任何JS我一直得到这个:

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

这是我的灵药功能:

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'``

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

看起来警告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粘贴错误日志,那将是很好的。请告诉我。