ubuntu

Laravel在Ubuntu中如何实现热更新

小樊
47
2025-09-29 16:05:13
栏目: 智能运维

在 Ubuntu 中,Laravel 实现热更新可以通过 Laravel Mix 的 watch 命令来完成。Laravel Mix 是一个基于 Webpack 的构建工具,它可以帮助你编译前端资源文件,如 JavaScript 和 CSS。

以下是在 Ubuntu 中设置 Laravel 热更新的步骤:

  1. 安装 Node.js 和 NPM

    在终端中运行以下命令来安装 Node.js 和 NPM:

    curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  2. 安装 Laravel Mix

    在 Laravel 项目的根目录下,运行以下命令来安装 Laravel Mix 和相关依赖:

    npm install
    
  3. 配置 Laravel Mix

    打开项目根目录下的 webpack.mix.js 文件,确保已经配置了前端资源文件的编译选项。例如:

    const mix = require('laravel-mix');
    
    mix.js('resources/js/app.js', 'public/js')
       .sass('resources/sass/app.scss', 'public/css');
    
  4. 运行热更新

    在终端中,进入到 Laravel 项目的根目录,运行以下命令来启动热更新:

    npm run watch
    

    这将启动一个监听文件变化的进程。当你修改前端资源文件(如 JavaScript 或 CSS)时,Laravel Mix 会自动重新编译这些文件,并在浏览器中实时更新。

  5. 配置 Laravel 以支持热更新

    要让 Laravel 支持热更新,需要在 app/Providers/AppServiceProvider.php 文件中的 boot 方法里添加以下代码:

    if (mix()->isLocal()) {
        $env = Mix::ENV();
        $app['url'] = env('APP_URL');
        $app->singleton('Illuminate\Contracts\Debug\ExceptionHandler', function ($app) use ($env) {
            return new \Illuminate\Foundation\Exceptions\Handler($env);
        });
        $app->singleton('Illuminate\View\Engines\PhpEngine', function ($app, $config) {
            $view = new \Illuminate\View\Engines\PhpEngine($app['view'], $config);
            if (file_exists(resolve($config['paths']['resources'].'/views'))) {
                $view->addLocation(resolve($config['paths']['resources'].'/views'));
            }
            return $view;
        });
    }
    

现在,当你在开发环境中修改前端资源文件时,Laravel 应用将自动实现热更新。

0
看了该问题的人还看了