bundle.js文件输出和webpack-dev-server

mgu*_*arr 14 webpack webpack-dev-server

我在webpack.config文件中有这个输出配置:

config = { 
          ...
          output: {
              path: path.resolve(__dirname, 'dist'),
              filename: 'bundle.js',
              publicPath: 'http://localhost:8090/'
          },
... }
Run Code Online (Sandbox Code Playgroud)

bundle.js不会写入指定的路径path; 它只能通过Web服务器提供,而我希望两者都可以.

我应该改变什么来同时拥有文件和Web服务器?

chr*_*ris 23

看来这是一个内置选项。您可以在webpack配置文件中添加以下内容。

devServer: {
  writeToDisk: true
}
Run Code Online (Sandbox Code Playgroud)

看起来这是从webpack-dev-server版本3.1.10开始添加的

  • 我的朋友,你是上帝的礼物。谢谢! (8认同)

Nad*_*bit 21

当你运行webpack-dev-server时,你实际上并没有捆绑和重建webpack包,它只是从内存中提供它.

根据我的经验,解决这个问题的方法是,如果你想要实际构建以及webpack-dev-server,那么就有两个实例在运行.所以,在一个终端窗口有

webpack --watch
Run Code Online (Sandbox Code Playgroud)

运行,(webpack --watch将重建实际的捆绑包).然后,在另一个终端有

webpack-dev-server
Run Code Online (Sandbox Code Playgroud)

运行,(webpack-dev-server将实现reaload并从内存中为新版本提供服务).