Laravel 未找到混合提取函数

Laravel mix extract function not found

我的 laravel 应用程序有一个非常标准的 webpack 文件

const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
    .extract("['lodash', 'axios', 'jquery','bootstrap','tether','prismjs','jquery.mb.ytplayer','owl.carousel']")
    .sass('resources/sass/app.scss', 'public/css')
    .sourceMaps();

 if (mix.inProduction()) {
    mix.version();
 }

但是 npm run watch 失败并出现以下错误

anadi@MacAnadi onex_web % npm run watch

> @ watch /Users/anadi/Code/github/onex/website/onex_web
> npm run development -- --watch


> @ development /Users/anadi/Code/github/onex/website/onex_web
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"

/Users/anadi/Code/github/onex/website/onex_web/node_modules/webpack-cli/bin/cli.js:93
                throw err;
                ^

TypeError: extraction.libs.join is not a function

您已将参数作为字符串传递给 extract 方法。它需要一个数组,因为 join 不是 String.prototype 中的函数,这就是导致 TypeError 的原因。将您的调用更改为以下即可。

const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
    .extract(['lodash', 'axios', 'jquery','bootstrap','tether','prismjs','jquery.mb.ytplayer','owl.carousel'])
    .sass('resources/sass/app.scss', 'public/css')
    .sourceMaps();

 if (mix.inProduction()) {
    mix.version();
 }