javascript - 错误 : ENOENT: no such file or directory, 统计 Laravel 混合错误

标签 javascript laravel webpack laravel-mix

我有一个包含样式表和脚本文件的分层文件夹结构。我需要在输出文件夹中保持相同的结构。对于所有脚本和样式,我得到一个路径数组,转换它们并将它们混合。

问题是混合接受了我的路径但没有创建所需的结构。以前我手动做了路径数组,现在我没有得到正确的路径。没有编译器错误。我仍然使用 mix.js(str, str2)mix.less(str, str2)

我收到的路径和我手动写的差不多

My config

但是如果我启动nodejs调试过程,那么我会看到

enter image description here

我的文件夹结构

enter image description here

我的js路径数组

Less array 和js一样

enter image description here

enter image description here

我仍然没有得到我的文件,但是调试错误消失了

let compileJS = (str, str2) => {
    console.log(str,str2)
    mix.js(str, str2);
};

glob("./components/**/*.js", (err, files) => {
    files.map((p) => {
        pathsJS.push({
            in: p,
            out: p.replace("./components/", "./dist/views/"),
        });
    });
  //  console.log(pathsJS);
    pathsJS.map((p) => {
        compileJS(p.in, p.out);
    });
});

最佳答案

问题是默认情况下,所有库都将路径发布设为异步方法。 Mix 同步工作。我安装了一个更快版本的插件,同步输出路径并将混合函数放在同一个函数中。因此,代码立即执行。

const glob = require("fast-glob");


let compile = () => {
    function getFilesJS(baseSrc) {
        return glob.sync("./components/**/*.js", {
            onlyFiles: true,
        });
    }
    let filesjs = getFilesJS();
    filesjs.map((p) => {
        pathsJS.push({
            in: p,
            out: p.replace("./components/", "./dist/views/"),
        });
    });

    pathsJS.map((p) => {
        mix.js(p.in, p.out);
    });
    function getFilesLESS() {
        return glob.sync("./components/**/*.less", {
            onlyFiles: true,
        });
    }
    let filesless = getFilesLESS();
    filesless.map((p) => {
        pathsLess.push({
            in: p,
            out: p.replace("./components/", "./dist/views/"),
        });
    });

    pathsLess.map((p) => {
        mix.less(p.in, p.out.replace("style.less", ""));
    });
    mix.less("./src/less/styles.less", "./dist/template_styles.css");
    mix.js("./src/js/script.js", "./dist/script.js");
};

关于javascript - 错误 : ENOENT: no such file or directory, 统计 Laravel 混合错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71756077/

相关文章:

使用单选按钮计算 Javascript/HTML5 问题

javascript - 绕过 jQuery 中的 event.preventDefault()

node.js - 如何在更新和升级 Homebrew 后修复丢失的库

javascript - 为什么 webpack 尝试解析我的依赖项路径中的每个文件?

css - webpack加载css时如何切换css文件?

javascript - 吊装工程

javascript - 使用原型(prototype)添加无限的输入字段

php - Laravel - 如何使用查询生成器或 Eloquent 添加 JOIN 和 CASE-WHEN?

php - 这是我的 laravel 项目中的一个额外的 ")",它为我查询 laravel

webpack - 如何运行 webpack-bundle-analyzer?