这是我/laravel/webpack.mix.js
的内容:
mix
.js([
'resources/assets/js/jquery.js',
'resources/assets/js/plugin.js'
], 'public/js/my_app.js');
/resources/assets/js/jquery.js
的内容是:
window.$ = window.jQuery = require('jquery');
/resources/assets/js/plugin.js
的内容是这样写的当地代码:
(function($) {
// plugin script
})(jQuery);
当插件.js脚本在本地编写时(如上所述(,它会在 my_app.js 中的 jQuery 之前加载(例如插件.js然后jQuery(
但
当我提取插件时.js直接从"需要"或"导入"指令 node_modules**,例如require('plugin')
用插件编写的.js,顺序是可以的:jquery.js 首先加载 THEN插件.js。
我的问题:
我想加载jquery.js在插件之前.js。
那么,即使插件是本地脚本.js如何尊重顺序?
Laravel mix 提供了可以将供应商库提取到vendor.js
的功能。但是您必须确保在vendor.js
之后调用应用程序代码app.js
。
<script src="/js/manifest.js"></script>
<script src="/js/vendor.js"></script>
<script src="/js/app.js"></script>
参考资料 - https://laravel.com/docs/5.4/mix#vendor-extraction
在 .extract 调用之后,添加
autoload({
jquery: ['$', 'jQuery', 'window.jQuery']
});
所以
mix.js(...).extract(...).autoload(...);
编辑:刚刚看到您的回复,您尝试过这个