无法在webpack-dev-server中查看请求日志

37

我正在使用 webpack-dev-server 作为本地CDN服务器,用于提供各种静态资产,如CSS、JS、HTML等。

一切运行正常,但是为了调试的目的,我无法看到CDN服务器接收到的请求。

webpack-dev-server在编译静态资产束后就变得无声无息,没有显示任何信息/错误。

我也查阅了命令行帮助,但没有成功。

2个回答

74

基本上,webpack-dev-server 使用 express 来生成一个 web 服务器。如需查看日志,则需要设置与 express 所需相同的 DEBUG 环境变量。

export DEBUG='express:*'

这个开始向我展示了webpack-dev-server收到的各种请求日志。

要禁用这些日志,请再次将环境变量设置为空。

export DEBUG=

即使对于loopback项目和任何其他使用express作为基础的NodeJS框架,这也适用。


@Juicy 你正在使用哪个Webpack版本? - comiventor
1
@MEnf 只需将 DEBUG 环境变量设为空即可 export DEBUG= - comiventor
1
这需要添加到哪个文件中? - Nahush Farkande
1
这是一个在终端上运行的命令或填充您的环境变量的脚本。 - comiventor

5

环境变量对我没有起作用。

根据文档,您可以通过 before (将此添加到 vue.config.js)添加自己的自定义中间件:

devServer: {
    disableHostCheck: true,
    host: 'localhost',
    https: {
        key: fs.readFileSync('./dev/ssl-localhost-testing/server.key'),
        cert: fs.readFileSync('./dev/ssl-localhost-testing/server.cert'),
    },
    before: function (app, server, compiler) {
        app.use('/', function (req, res,next) {
            console.log(`from ${req.ip} - ${req.method} - ${req.originalUrl}`);
            next();
        });
    }
 }

这将日志记录每个请求并在控制台上显示,例如:
from 127.0.0.1 - GET - /js/BACC_AtlasAdministration.js

也许这可以帮助某些人。

3
webpack-dev-server版本4中,before(app, server, compiler)被改为了onBeforeSetupMiddleware(devServer),而app.use必须更改为devServer.app.use - aleneum
现在已经弃用了 devServer.contentBase,而是采用 setupMiddlewares:https://webpack.js.org/configuration/dev-server/#devserversetupmiddlewares - Jean Claveau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接