使用“next”运行时,Nextjs 不记录 console.log 或 console.error

Com*_*ode 6 webpack next.js

所以我的server.js文件中有这个日志:

  console.info("LOOGGGGGSSSS")
  console.warn("LOOGGGGGSSSS")
  console.log("LOOGGGGGSSSS")
  console.error("LOOGGGGGSSSS")
Run Code Online (Sandbox Code Playgroud)

package.json有脚本:

  "scripts": {
    "dev": "next",
    "start": "next start"
  }
Run Code Online (Sandbox Code Playgroud)

当我使用 npm run start 运行服务器时,一切正常,我可以看到日志,但npm run dev没有console.log()或根本没有console.error()工作。

我尝试使用选项 quiet true 和 false 但仍然无法正常工作:

const nextJsApp = next({dev, quiet: false}); // no logs in terminal
Run Code Online (Sandbox Code Playgroud)

const nextJsApp = next({dev, quiet: true}); // still no logs in terminal
Run Code Online (Sandbox Code Playgroud)

我的 next.config.js

require("dotenv").config();
const withCSS = require('@zeit/next-css');
const webpack = require('webpack');

const apiKey =  JSON.stringify(process.env.SHOPIFY_API_KEY);

module.exports = withCSS({
    webpack: (config) => {
        const env = { SHOPIFY_API_KEY: apiKey };
        config.plugins.push(new webpack.DefinePlugin(env));
        return config;
    },
});
Run Code Online (Sandbox Code Playgroud)

gig*_*gnu 37

转到您运行的终端npm run dev。您应该能够在那里看到您的控制台日志。

  • 但我想在 chrome 控制台中看到它 (5认同)
  • @Getzel 服务器端组件/服务器端渲染(`getStaticProps`)的全部要点是,任何 JavaScript 逻辑都在服务器上执行,**在它到达客户端**之前。因此,如果您想在浏览器中查看它,则必须在客户端逻辑中调用“console.log”。 (2认同)

Mik*_*ika 8

如果您想在本地开发模式下查看您的服务器日志,则不需要使用自己的服务器。您可以像这样编辑 package.json 中的开发脚本:

"dev": "NODE_OPTIONS='--inspect' next dev",
Run Code Online (Sandbox Code Playgroud)

当你运行你的 dev( npm run dev) 时,你可以在 Chrome 中进入chrome://inspect

在远程目标下方的底部,单击inspect

  • 这不起作用 (2认同)