使用 Laravel-mix 打包,文件太多会造成样式文件打包失败?

使用laravel-mix打包,文件太多会造成样式文件打包失败?

打包的时候会卡在70%然后很久才能成功

78% module and chunk tree optimization ExtractTextPlugin

发现主要是卡在ExtractTextPlugin插件提取chunk的时候

mix的配置文件是这样的

const mix = require('laravel-mix')
const { IgnorePlugin } = require('webpack')
const path = require('path')
const CleanWebpackPlugin = require('clean-webpack-plugin')
const LiveReloadPlugin = require('webpack-livereload-plugin')

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.webpackConfig({
  plugins: [
    new IgnorePlugin(/^\.\/locale$/, /moment$/),
    new CleanWebpackPlugin({
      cleanOnceBeforeBuildPatterns: [
        path.resolve(__dirname, 'public/{css,js}/*')
      ],
      verbose: true
    }),
    new LiveReloadPlugin()
  ],
  resolve: {
    extensions: ['.js', '.jsx', '.vue'],
    alias: {
      '@': path.resolve(__dirname, 'resources/js/admin'),
      '@img': path.resolve(__dirname, 'resources/assets/images')
    }
  },
  module: {
    rules: [
      {
        test: /\.less$/,
        loader: 'less-loader',
        options: {
          javascriptEnabled: true
        }
      }
    ]
  }
})

mix.webpackConfig({
  output: {
    chunkFilename: `js/[name]${
      mix.inProduction() ? '.[chunkhash].js' : '.chunk.js'
    }`,
    publicPath: '/'
  }
})

mix
  .options({
    // extractVueStyle: true,
    autoprefixer: {}
  })
  .less('resources/less/admin/admin.less', 'public/css/admin.css')
  .js('resources/js/admin/admin.js', 'public/js/admin.js')
  .less('resources/less/app/app.less', 'public/css/app.css')
  .js('resources/js/app/app.js', 'public/js/app.js')
  .version()
  .disableSuccessNotifications()

if (process.env.MIX_BROWSERSYNC || false) {
  mix.browserSync({
    proxy: process.env.MIX_BROWSERSYNC_PROXY || 'homestead.test',
    open: (process.env.MIX_BROWSERSYNC_OPEN === 'true')
  })
}

代码仓库地址是:https://github.com/loyep/cosy 分支是1.0-dev

请帮忙看看哪里配置的不对,组件库使用了ant-design-vue的,样式采用了less

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!