为什么webpack仍然生成旧的目录包文件?

我有一个简单的应用程序使用webpack来编译我的js有一个入口点为./src/app.js和输出为./public/dist/app.bundle.js

以前输出目录 ./dist/app.bundle.js

在webpack --watch模式下,我对src代码做了一些修改,它会生成旧path./dist/app.bundle.js这个文件以及到新目录? 请告诉什么是错的

webpack.config.js

 var path = require("path"); module.exports = { entry: path.resolve(__dirname, "./src/app.js"), output: { path: path.resolve(__dirname), filename: "./public/dist/app.bundle.js", publicPath: "/public/", } }; 

npm -v 3.10.10

node -v v6.10.2

webpack:3.10.0

 var path = require("path"); module.exports = { entry: path.resolve(__dirname, "./src/app.js"), output: { path: path.resolve(__dirname, "public/dist"), filename: "app.bundle.js", publicPath: "dist", } }; 

output.filename
指定磁盘上每个输出文件的名称。 你不能在这里指定绝对path! output.path选项确定文件在磁盘上的位置。 filename仅用于命名单个文件。

output.path
输出目录作为绝对path(必需)。

output.publicPath
publicPath指定浏览器中引用的输出文件的公共URL地址。 对于embedded<script><link>标签或引用资产(如图像url()的加载程序,当其与磁盘上的位置(由path指定url() ,将使用publicPath作为文件的hrefurl() )。 当您想要将某些或所有输出文件托pipe在不同的域或CDN上时,这会很有帮助。 Webpack开发服务器也使用它来确定输出文件预期从哪个path提供服务。

请参阅这里的文档

调整webpack.configoutputconfiguration,如下所示。

 var path = require("path"); module.exports = { entry: path.resolve(__dirname, "./src/app.js"), output: { path: path.resolve(__dirname, "public/dist"), filename: "[name].bundle.js", publicPath: "/public/", } }; 

请参阅: Webpack输出