所以我的
server.js
文件中有此日志:
console.info("LOOGGGGGSSSS")
console.warn("LOOGGGGGSSSS")
console.log("LOOGGGGGSSSS")
console.error("LOOGGGGGSSSS")
我的
package.json
有脚本:
"scripts": {
"dev": "next",
"start": "next start"
}
当我使用 npm run start 运行服务器时,一切正常,我可以看到日志,但使用
npm run dev
则没有 console.log()
或 console.error()
完全可以工作。
我尝试使用选项安静 true 和 false 但仍然不起作用:
const nextJsApp = next({dev, quiet: false}); // no logs in terminal
和
const nextJsApp = next({dev, quiet: true}); // still no logs in terminal
我的
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;
},
});
转到您运行的终端
npm run dev
。
您应该能够在那里看到您的控制台日志。
如果您想在本地开发模式下查看您的服务器日志,则不需要使用自己的服务器。您可以像这样编辑 package.json 中的开发脚本:
"dev": "NODE_OPTIONS='--inspect' next dev",
当你运行你的开发者 (
npm run dev
) 时,你可以在 Chrome 中进入:chrome://inspect
。
在远程目标下方,点击
inspect
。
我使用了跨环境包来避免在使用不同操作系统时出现一些问题。
"dev": "cross-env NODE_OPTIONS='--inspect' next dev"
工作得很好,我现在可以看到我的所有日志与下一个日志混合在一起。
我认为这是因为你必须使用“使用客户端”
如果您使用 next.js 13,默认情况下每个组件都是服务器端组件,这意味着该组件不会在浏览器上运行,如果您想使用客户端组件,请在文件顶部写入“使用客户端”。
但我不建议仅仅因为您希望信息显示在浏览器中而将“使用客户端”放在顶部,您可以看到此链接以了解有关客户端和服务器端组件的更多信息https://nextjs.org/docs /入门/react-essentials
我必须将其从我的
next.config.js
中删除。我认为它只适用于生产,但也许不适用于。
removeConsole: {
exclude: ["error"],
},
我会将其添加到
tsconfig.json
:
"removeComments": true,
终端上有
console.log
信息。
打开您的操作系统终端,查看您的终端,您将看到
console.log
数据。
正如 @AryanJ-NYC 提到的,在 Next.js 中使用 自定义服务器 时,您需要更新
package.json
中的脚本来运行 server.js
文件。
"scripts": {
"dev": "node server.js",
"build": "next build",
"start": "NODE_ENV=production node server.js"
}