【发布时间】:2017-07-02 20:21:21
【问题描述】:
我尝试在 laravel 应用中实现热重载。但是我在使用 webpack 进行输出时遇到问题。当我做http://localhost/bundle.js 时,找不到 404。我想知道为什么。在我的终端中,我确实看到了 webpack 捆绑了 bundle.js,但是它去了哪里?
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>
【问题讨论】:
-
您的
bundle位于public/bundle/bundle.js。根据您的脚本,您正在尝试从根目录加载脚本,这是不正确的。 -
@Aexander T. 应该怎么样? bundle.js 不是物理文件,看这个例子github.com/eriksape/laravel-react-hot-loader/blob/master/…。您将 feed.js 和许多其他文件转换为 bundle.js,然后您可以使用 browsersync 进行热重载
-
表示我的路径值不正确?请帮忙。我看不出有什么问题。
标签: javascript laravel reactjs webpack gulp