webpack没有将文件输出到正确的目录

时间:2017-02-14 13:51:41

标签: javascript laravel reactjs webpack gulp

我尝试在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>

我的webpack配置文件出错了。这是我的网站目录: enter image description here

1 个答案:

答案 0 :(得分:0)

webpack dev服务器不会将捆绑包写入磁盘。

  

此修改后的包在内存中以publicPath中指定的相对路径提供(请参阅API)。它不会写入配置的输出目录。如果捆绑包已存在于同一URL路径中,则内存中的捆绑包优先(默认情况下)。

您可以在此处找到更多信息:https://webpack.github.io/docs/webpack-dev-server.html

根据您的确切需求,您可以考虑使用不同的webpack配置