我正在做一个项目,我必须将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时,运行dev或npm运行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');