更新了Laravel根目录,npm运行dev在错误的目录中创建app.css和app.js



我正在做一个项目,我必须将Laravel的根目录移到src文件夹中。并且CCD_ 2文件夹的内容被移动到根目录中。

我的新文件夹结构是这样的。

项目名称|css目录|js目录|index.php|src->|app|引导程序|配置|数据库|节点模块|资源|路线|存储器|路线|短截线|供应商|.env|composer.json|composer.lock|软件包锁定|package.json|服务器.php|webpack.mix.js|artisan

我已经用以下内容更新了根目录中index.php文件中的路径。

<?php
define('LARAVEL_START', microtime(true));
// require __DIR__.'/../vendor/autoload.php';
require __DIR__.'/src/vendor/autoload.php';
// $app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once __DIR__.'/src/bootstrap/app.php';

$kernel = $app->make(IlluminateContractsHttpKernel::class);
$response = $kernel->handle(
$request = IlluminateHttpRequest::capture()
);
$response->send();
$kernel->terminate($request, $response);

现在,当我在src文件夹下运行npm install命令时,它工作正常,php artisan也工作正常。但是,当我运行npm时,运行devnpm运行production

它在src目录中创建一个新的public目录,并在其中创建新的app.js和app.css文件。这是不需要的。

根据我的新目录结构,它们现在应该分别位于css和js文件夹下的根目录中。

webpack.mix.js

const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'js')
.vue()
.sass('resources/sass/app.scss', 'css');

请帮忙。

提前谢谢。🙏

您可以使用mix.setPublicPath()将输出文件混合到父目录:

const mix = require('laravel-mix');
mix.setPublicPath('../../') // project root path
.js('resources/js/app.js', 'js')
.vue()
.sass('resources/sass/app.scss', 'css');

最新更新