webpack Laravel 8 jetstream热重载和浏览器同步不工作

smtd7mpg  于 11个月前  发布在  Webpack
关注(0)|答案(2)|浏览(123)

我刚创建的系统有个大问题。
我使用Docker和Laravel Sail用Jetstream完成了Laravel 8的标准安装。
但是,我不能做npm run hotnpm run watch自动重新加载或浏览器同步.
我的文件是laravel 8的标准,我还没有对代码做任何修改。
信息:

*Laravel:v8.41.0
*PHP:PHP v8.0.5
*Jetstream:v2.3.5
*npm:v7.7.6
*NodeJS:v15.14.0

我的webpack.mix.js看起来像这样:

const mix = require('laravel-mix');

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel applications. By default, we are compiling the CSS
 | file for the application as well as bundling up all the JS files.
 |
 */

mix.js('resources/js/app.js', 'public/js').vue()
    .postCss('resources/css/app.css', 'public/css', [
        require('postcss-import'),
        require('tailwindcss'),
    ])
    .webpackConfig(require('./webpack.config'));

if (mix.inProduction()) {
    mix.version();
}

字符串
我的webpack.config.js看起来像这样:

const path = require('path');

module.exports = {
    resolve: {
        alias: {
            '@': path.resolve('resources/js'),
        },
    },
};


我也试着用我之前在研究中发现的一些信息来改变这两个webpack,但真的没有什么效果,有没有一种方法可以让Hot Webpack和Browser Sync与Laravel Sail一起工作?

rur96b6h

rur96b6h1#

虽然app.blade.php中已经包含了一个browsersync脚本,但我也没有让它工作。我删除了那一行,并扩展了我的webpack.mix.js如下:

mix.browserSync({
    proxy: 'YOURDOMAIN.test',
    host: 'YOURDOMAIN.test',
    open: 'external'
});

字符串
然后运行npm run watch-可能运行两次,因为它将安装browsersync -并且它可以工作。

fae0ux8s

fae0ux8s2#

open:'external'保存我(和我用代客和https一样)

.browserSync({
        proxy: 'https://app.tunnel.test',
        host: 'app.tunnel.test',
        open: 'external',
        https: {
            key: homedir + '/.config/valet/Certificates/' + domain + '.key',
            cert: homedir + '/.config/valet/Certificates/' + domain + '.crt',
        },
    })

字符串

相关问题