node.js - 未找到 Laravel 混合提取功能
问题描述
我的 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();
}
推荐阅读
- python - discord.py:机器人不识别作者
- r - 如何从矩阵中选择行。R
- python - VS 代码中的相对路径不一致
- reactjs - 如何为 React 单页应用程序实现 OAuth2 授权代码授权?
- python - 在 Python 中生成 OAuth2 令牌
- react-bootstrap-typeahead - React-Bootstrap-Typeahead:在将选择设置为框之前捕获时刻(以允许有条件的拒绝)
- python - python 语句“如果值在 [,] 中”
- azure-eventhub - EventProcessorClient 需要从存储帐户获得的最低 SAS 权限是多少?
- javascript - RxJS 条件切换油门
- python - 没有看到包日志 python logger