Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
443 views
in Technique[技术] by (71.8m points)

javascript - How to solve vuejs hot reload in laravel app (with laradock) that returns "Error Cannot GET /"

I am using webpack mix for hot reload of vuejs in laravel app. However, I receive the error message in each page load after running npm run hot

Cannot GET / for home page /

webpack.mix.js

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

var webpackConfig = {
   devServer: {
    proxy: {
      host: 'domain.local',  // host machine ip
      port: 81,
    },
    watchOptions:{
      aggregateTimeout:200,
      poll:5000
    },
  }
}

mix.options({
  hmrOptions: {
    host: 'mmta.local',  // site's host name
    port: 81,
  }
});

mix.webpackConfig(webpackConfig);

mix.js('resources/vue_app/src/main.js', 'public/app/js')
   .sass('resources/vue_app/src/styles/style.scss', 'public/app/css');
question from:https://stackoverflow.com/questions/65906571/how-to-solve-vuejs-hot-reload-in-laravel-app-with-laradock-that-returns-error

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

What works for is is: (dockerHost "172.20.129.2" and dockerPort: "8081");

mix.webpackConfig({
    mode: "development",
    resolve: {
        alias: {
            "@assets": path.resolve(__dirname, "resources/assets/site"),
            "@sass": path.resolve(__dirname, "resources/assets/site/sass"),
            "vue$": "vue/dist/vue.runtime.esm.js",
            "@": path.resolve("./resources/assets"),
        },
    },
    output: {
        chunkFilename: "assets/site/js/chunks/[name].js",
    },
    devtool: "inline-source-map",
    devServer: {
        disableHostCheck: true,
        headers: {
            'Access-Control-Allow-Origin': '*'
        },
        contentBase: path.resolve(__dirname, 'public'),
        host: config.dockerHost,
        port: config.dockerPort,
        watchOptions: {
            poll: true
        }
    },
})

mix.options({
    hmrOptions: {
        host: config.dockerHost,
        port: config.dockerPort
    }
});

On caveat, after runing npm run hot you have to wait until the npm shows you the ip


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...