如何在mix.copy使用Laravel-Mix完全执行后触发sass构建



我已经在我的应用程序中实现了 Laravel-Mix,并将文件从node_module复制到我的资产文件夹,而不是编译我的 scss。由于复制过程很慢,我的 scss 无法找到依赖库。有没有办法延迟 sass 构建并在复制任务完成后触发它?

这是我的网络包

 let mix = require('laravel-mix');    
 mix.copy('node_modules/ionicons', 'resources/assets/css/libs/ionicons')
 mix.sass('resources/assets/css/sass/app.scss', 'public/dist');

下面是我的应用程序.scsss

@import '../libs/ionicons/dist/css/ionicons';
@import 'header';

这是我得到的错误

95% emitting ERROR  Failed to compile with 2 errors7:38:04 PM
 error  in ./resources/assets/css/sass/app.scss
Module build failed:
@import '../libs/ionicons/dist/css/ionicons';
^
      File to import not found or unreadable: ../libs/ionicons/dist/css/ionicons.

使用 tilda importer。
Webpack~识别为projectRoot/node_modules

app.scss

@import '~ionicons/dist/css/ionicons.css';
@import 'header';

或者最好导入 SASS 版本,使其更加灵活。

app.scss

$ionicons-font-path: '~/ionicons/dist/fonts'; //change path to ionicon font
@import '~ionicons/dist/scss/ionicons';
@import 'header';

webpack.mix.js

 let mix = require('laravel-mix');
 mix.sass('resources/assets/css/sass/app.scss', 'public/dist');

相关内容

最新更新