【问题标题】:webpack dev server is not creating the bundle filewebpack 开发服务器未创建捆绑文件
【发布时间】:2016-11-19 23:28:25
【问题描述】:

我是 webpack 新手,我正在使用 webpack 开发服务器进行 HOT 重载。我的配置如下所示:

new WebpackDevServer(webpack(config), {
    publicPath: "./public/dist/bundle.js",
    hot: true,
    historyApiFallback: true,
    proxy: {
        '*': {
            target: 'http://localhost:3000',
            secure: false
        }
    }
}).listen(8080, 'localhost', function (err, result) {
    if (err) {
        return console.log(err);
    }

    console.log('Listening at http://localhost:8080/');
});

当我启动 webpack 开发服务器时,我希望它按照指定将 js 捆绑在 ./public/dist/bundle.js。但它不起作用。然而,它的打印就像它已经完成了捆绑处理一样:

Version: webpack 1.13.1
Time: 93044ms
                  Asset    Size  Chunks             Chunk Names
./public/dist/bundle.js  999 kB       0  [emitted]  main

但在我的文件系统中 bundle.js 不存在。

我可以通过先运行webpack 然后调用 webpack 开发服务器来使其工作,它按预期工作!

我哪里出错了?

【问题讨论】:

标签: webpack


【解决方案1】:

请注意,webpack-dev-server 运行 in-memory,因此它不会生成任何您应该根据定义看到的文件。如果你想要实际的文件,你应该使用webpack --watch。如果你想同时获取文件和 HMR,你可以并行运行 webpack --watch 和 webpack-dev-server。

【讨论】:

  • 那么我们绝对不能将内存包写入文件?
  • 这种做法违背了 webpack-dev-server 的理念,因为它需要尽可能快。如果你想要实际的文件,那么在它旁边运行webpack --watch 就可以了。检查开发服务器源代码,了解它是如何发挥作用的。
【解决方案2】:

它在内存中,但您可以将其设置为也编写捆绑包(WebPack v4):

"writeToDisk: true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-16
    • 2021-10-31
    • 2015-05-18
    • 1970-01-01
    • 2016-11-19
    • 2019-11-14
    • 2019-05-22
    • 2016-07-05
    相关资源
    最近更新 更多