Laravel-MIX:合并/合并后删除未使用的文件

MrS*_*ngh 5 javascript css file laravel-mix

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

例如:

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

public
|-- css
  |-- font-awesome.css
  |-- template.css
Run Code Online (Sandbox Code Playgroud)

合并后:

public
|-- css
  |-- font-awesome.css
  |-- template.css
  |-- combined.min.css (font-awesome.css + template.css = combined.min.css)
Run Code Online (Sandbox Code Playgroud)

网页包

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');
Run Code Online (Sandbox Code Playgroud)

font-awesome.css&template.css文件合并为 时combined.min.css,不再需要它们,javascript文件也是如此。

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

MrS*_*ngh 4

这是我找到解决方案的链接/sf/ask/3764536331/

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');
    }
});
Run Code Online (Sandbox Code Playgroud)