Laravel Mix突然停止编译SCSS并写入空文件

时间:2019-08-21 15:51:36

标签: javascript npm webpack sass laravel-mix

几天前,无论js到js还是scss到css,我混音中的所有内容均正确编译。同时,我没有更改scss文件中的任何内容,也没有更改混合或整体设置中的任何内容。但是,我将项目的某些jsb文件移到了Laravel项目的resources / js文件夹中,并相应地调整了所有包含的文件。

现在,几天后,当我为此运行npm run devprodwatch时,node返回以下内容(改编的文件名):

DONE  Compiled successfully in 224711ms

           Asset       Size               Chunks             Chunk Names
 /css/victor.css    0 bytes  /js/bob, /js/ceasar  [emitted]  /js/bob, /js/ceasar
 /css/wiliam.css    0 bytes  /js/bob, /js/ceasar  [emitted]  /js/bob, /js/ceasar
/css/xanthos.css    0 bytes  /js/bob, /js/ceasar  [emitted]  /js/bob, /js/ceasar
   /css/yale.css    0 bytes  /js/bob, /js/ceasar  [emitted]  /js/bob, /js/ceasar
    /css/zac.css    0 bytes  /js/bob, /js/ceasar  [emitted]  /js/bob, /js/ceasar
    /js/alice.js   1.81 MiB            /js/alice  [emitted]  /js/alice
      /js/bob.js   47.2 KiB              /js/bob  [emitted]  /js/bob
   /js/ceasar.js   2.72 MiB           /js/ceasar  [emitted]  /js/ceasar
            0.js   28.5 KiB                    0  [emitted]
            1.js    114 KiB                    1  [emitted]

事实上,文件实际上是空的。

我已经检查了webpack.mix.js以及主要的scss文件及其包含的文件。 –并没有发现任何特别可疑的东西。 我还尝试过重新安装所有的node_modules。

webpack.mix.js看起来像这样:

let mix = require('laravel-mix');

 mix.js('resources/js/bob.js', 'public/js')
    .js('resources/js/ceasar.js', 'public/js')
    .js('resources/js/alice.js', 'public/js')
    .sass('resources/sass/kyle/wiliam.scss', 'public/css')
    .sass('resources/sass/kyle/xanthos.scss', 'public/css')
    .sass('resources/sass/victor.scss', 'public/css')
    .sass('resources/sass/yale.scss', 'public/css')
    .sass('resources/sass/zac.scss', 'public/css');

if (mix.inProduction()) {
    mix.version();
}

(这就是所有内容,以防万一有人问。)

我想要备份并运行我的scss编译器。 这个问题从哪里来?我搞砸了吗?

2 个答案:

答案 0 :(得分:0)

当您在应用程序代码中异步加载文件/组件时,似乎存在一些普遍的已知问题。

This clearly shows upstream issues further down in the open issue

现在,您可以尝试删除动态导入,如果将空的.css文件导入到javascript文件中,一些开发人员也可以使用它。

答案 1 :(得分:0)

我在Laravel Mix的Github页面的issue中找到了一些有用的指导。

这个想法是为css和js文件创建两个单独的节点任务。我已经在新安装的Laravel(使用Laravel Mix v4.0.7)上进行了尝试,并且可以正常工作。