【问题标题】:Laravel Mix suddenly stopped compiling SCSS and writes empty filesLaravel Mix 突然停止编译 SCSS 并写入空文件
【发布时间】:2019-08-21 15:51:36
【问题描述】:

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

现在,几天后,当我为此运行 npm run devprodwatch 时,节点返回以下内容(文件名已调整):

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 编译器备份并运行。 这个问题从何而来?我是不是搞砸了?

【问题讨论】:

    标签: javascript npm webpack sass laravel-mix


    【解决方案1】:

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

    This clearly shows upstream issues further down in the open issue

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-10-09
        • 1970-01-01
        • 1970-01-01
        • 2016-05-18
        • 2012-03-11
        • 1970-01-01
        • 2017-12-18
        • 2021-04-11
        • 2019-10-09
        相关资源
        最近更新 更多