Laravel-MIX:删除 combine/merge 后未使用的文件

Laravel-MIX: Remove unused files after combine/merge

我是 Laravel-mixwebpack 的新人。经过一些练习,我能够将 css 和 js 文件分别合并为 1 个文件。但是,合并后其他文件仍然存在,对应用程序没有用。

例如:

resources
|-- scss
  |-- font-awesome.scss
  |-- template.scss

public
|-- css
  |-- font-awesome.css
  |-- template.css

合并后:

public
|-- css
  |-- font-awesome.css
  |-- template.css
  |-- combined.min.css (font-awesome.css + template.css = combined.min.css)

Webpack

mix
    .sass('resources/sass/font-awesome.scss', 'public/css/font-awesome.css')
    .sass('resources/sass/template.scss', 'public/css/template.css');

// combining css files
mix.combine([
    'public/css/font-awesome.css',
    'public/css/template.css'
], 'public/css/combined.min.css');

由于 font-awesome.csstemplate.css 文件合并为 combined.min.css,因此不再需要它们,javascript 文件也是如此。

如何删除这些无用的文件,这可能吗..?

这是我找到解决方案的 link

webpack.mix.js:

...
const del = require('del');
const env = process.env.NODE_ENV || 'dev';

mix
    .sass('resources/sass/font-awesome.scss', 'public/css/font-awesome.css')
    .sass('resources/sass/template.scss', 'public/css/template.css');

// combining css files
mix.combine([
    'public/css/font-awesome.css',
    'public/css/template.css'
], 'public/css/combined.min.css').then(() => {
    if (env === 'production') {
        del('public/css/font-awesome.css');
        del('public/css/template.css');
    }
});