我尝试在laravel应用程序中实现热重新加载。但我使用webpack做输出有问题。当我http://localhost/bundle.js时,找不到404。我想知道为什么。在我的终端中,我确实看到bundle.js被webpack捆绑了,但它去了哪里?
gulpfile.js
var elixir = require('laravel-elixir');
var webpackDevMiddleware = require('webpack-dev-middleware');
var webpackHotMiddleware = require('webpack-hot-middleware');
var webpackConfig = require('./webpack.dev.config');
var bundler = webpack(webpackConfig);
gulp.task('hot', function(){
elixir(function(mix) {
browserSync({
proxy: 'somewhere.local',
middleware: [
webpackDevMiddleware(bundler, {
publicPath: '/'
}),
webpackHotMiddleware(bundler)
]
});
});
});
webpack.dev.config.js 问题出在此处
module.exports = {
debug: true,
context: path.join(__dirname, 'resources/assets/bundle/entries'),
entry: ['./feed.js'],
output: {
path : path.join(__dirname, 'public/bundle'),
publicPath : '/',
filename : 'bundle.js'
}
resolve: {
extensions: ['', '.js', '.jsx']
}
}
我的laravel视图
我也包括
<script src="http://localhost:3000/bundle.js"></script>
答案 0 :(得分:0)
webpack dev服务器不会将捆绑包写入磁盘。
此修改后的包在内存中以publicPath中指定的相对路径提供(请参阅API)。它不会写入配置的输出目录。如果捆绑包已存在于同一URL路径中,则内存中的捆绑包优先(默认情况下)。
您可以在此处找到更多信息:https://webpack.github.io/docs/webpack-dev-server.html
根据您的确切需求,您可以考虑使用不同的webpack配置