Error: ENOENT: no such file or directory, stat Laravel mix bug
Error: ENOENT: no such file or directory, stat Laravel mix bug
我有一个包含样式表和脚本文件的分层文件夹结构。我需要在输出文件夹中保持相同的结构。对于所有的脚本和样式,我得到一个路径数组,转换它们并将它们混合。
问题是混合接受我的路径但没有创建所需的结构。以前我手动做了路径数组,现在我没有得到正确的路径。没有编译器错误。我仍然使用 mix.js(str, str2)
和 mix.less(str, str2)
我收到的路径和我手动写的差不多
但是如果我启动nodejs调试过程,那么我会看到
我的文件夹结构
我的js路径数组
less array 和js一样
我仍然没有得到我的文件,但是调试错误消失了
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");
};
我有一个包含样式表和脚本文件的分层文件夹结构。我需要在输出文件夹中保持相同的结构。对于所有的脚本和样式,我得到一个路径数组,转换它们并将它们混合。
问题是混合接受我的路径但没有创建所需的结构。以前我手动做了路径数组,现在我没有得到正确的路径。没有编译器错误。我仍然使用 mix.js(str, str2)
和 mix.less(str, str2)
我收到的路径和我手动写的差不多
但是如果我启动nodejs调试过程,那么我会看到
我的文件夹结构
我的js路径数组
less array 和js一样
我仍然没有得到我的文件,但是调试错误消失了
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");
};