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