Laravel 根目录更新,npm run dev 在错误目录中创建 app.css 和 app.js
Posted
技术标签:
【中文标题】Laravel 根目录更新,npm run dev 在错误目录中创建 app.css 和 app.js【英文标题】:Laravel root directory updated, npm run dev creating app.css and app.js in wrong directory 【发布时间】:2021-09-03 05:57:30 【问题描述】:我正在做一个项目,我必须将 Laravel 的根目录移动到 src
文件夹中。并将public
文件夹的内容移动到根目录下。
我的新文件夹结构是这样的。
项目名 |css目录 |js 目录 |索引.php |源代码-> |应用 |引导 |配置 |数据库 |节点模块 |资源 |路线 |存储 |路线 |存根 |供应商 |.env |作曲家.json |作曲家.lock |package.lock |package.json |服务器.php |webpack.mix.js |工匠我已将根目录下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(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
现在,当我在src
文件夹下运行npm install
命令时,它可以正常工作,php artisan
也可以正常工作。
但是,当我运行 npm run dev 或 npm run 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');
请帮忙。
提前致谢。 ????
【问题讨论】:
@matiaslauriti,此评论部分仅用于回答问题或与问题相关的查询。所以,请坚持这个问题。现在,回答您的问题,如果构建了框架,那么它的结构可以改变,那为什么不呢。如果给定的结构不能满足某人的要求。 【参考方案1】:您可以使用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');
【讨论】:
以上是关于Laravel 根目录更新,npm run dev 在错误目录中创建 app.css 和 app.js的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 laravel 6 中的错误 npm run dev
Laravel 8 - scss 和 npm run dev 的问题
新 Laravel 5.4 上的“npm run dev”命令出错
为啥我不能在 Laravel 7 中成功运行 npm run dev?