Laravel Mix(webpack)内联JS未定义的jQuery /供应商

时间:2018-04-13 14:45:24

标签: javascript php laravel webpack laravel-mix

在寻找解决某些看似非常普遍的问题的解决方案之后,经历了一场噩梦般的噩梦,此时此刻只是围成一圈。

我最近改变了我的Laravel项目,从使用gulp到Laravel Mix,SASS等都完美地工作但我的JS不打球。

在blade / php模板中使用jQuery * inline *的任何内容都失败了:

Uncaught ReferenceError: jQuery is not defined

webpack.mix.js (包含一系列模块):

let mix = require('laravel-mix');

mix.js('resources/assets/js/app.js', 'public/js').extract(
  ['jquery', 'foundation-sites', 'vue', 'toastr', 'jscroll', 'chosen-js', 'what-input']
);

mix.sass('resources/assets/sass/app.scss', 'public/css');

master.blade.php extract method将它们分开):

<script type="text/javascript" src="/js/manifest.js"></script>
<script type="text/javascript" src="/js/vendor.js"></script>
<script type="text/javascript" src="/js/app.js"></script>

app.js

const jQuery = require('jquery');
// window.$ = global.jQuery = $;
// window.jQuery = jQuery;
const toastr = require('toastr');
const chosen = require('chosen-js');
const whatInput = require('what-input');

const Foundation = require('foundation-sites');
const Vue = require('Vue');
const jScroll = require('jscroll');
const mousetrap = require('mousetrap');

我已尝试导入,直接要求,离开需要并使用自动加载方法,似乎没有任何工作。有些变体会说 $未定义,只是不知道在哪里转。

有人可能会指导我朝正确的方向发展吗?多年来一直使用Laravel和gulp,但只有香草JS,这个网络包让我难倒。

1 个答案:

答案 0 :(得分:0)

app.js中,在该行的末尾插入以下内容

const jQuery = require('jQuery')
// other packages here

window.$ = window.jQuery = jQuery