订单需要使用laravel-mix和webpack的脚本/依赖项

时间:2017-06-20 02:21:02

标签: node.js laravel webpack laravel-mix

这是 /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);

当plugin.js脚本本地编写(如上所述)时,它在my_app.js中加载到jQuery 之后<(例如 plugin.js 那么 jQuery

但是

当我直接从“require”或“import”指令中提取plugin.js时  node_modules **,例如用plugin.js编写的require('plugin')顺序正常: 首先加载 jquery.js THEN plugin.js

我的问题:

我想在plugin.js之前加载jquery.js。

那么,当plugin.js是本地脚本时,如何尊重命令?

2 个答案:

答案 0 :(得分:0)

Laravel mix提供了一个功能,您可以将供应商库提取到vendor.js。但您必须确保在app.js之后调用您的应用代码vendor.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

答案 1 :(得分:0)

.extract调用后,添加

autoload({
    jquery: ['$', 'jQuery', 'window.jQuery']
});

所以,

mix.js(...).extract(...).autoload(...);

编辑:刚刚看到您尝试过这个

的回复