首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在nextjs中,我希望控制日志的输出

在nextjs中,我希望控制日志的输出
EN

Stack Overflow用户
提问于 2019-05-10 17:46:13
回答 1查看 10.5K关注 0票数 5

我想在开发环境和生产环境中控制日志的输出

我不能在react组件中控制日志输出,我想在不同的开发环境中控制输出。

在next.js中有代码压缩。我想在压缩的时候删除console.log,但是我不知道怎么做。在“webpack”中,我试图删除console.log,但是我得到了一个错误。

代码语言:javascript
运行
复制
  config.plugins.push(
            new UglifyJsPlugin({
                uglifyOptions:{
                    compress: {
                        // warnings: false,
                        drop_debugger: true,
                        drop_console: true
                    }
                }
            })
        )
        return config

error :
static/development/pages/_app.js from UglifyJs
Unexpected token: keyword «const» [static/development/pages/_app.js:11375,0]
代码语言:javascript
运行
复制
function Hook_test(props) {
    const[open, setOpen] = useState(false);
    const {
        dispatch,
        num
    } = props

    console.log("log test"); // I don't want to appear in a production environment,Development environment can appear
    function setReducer() {
        console.log(111111, change_add(num + 1)) dispatch(change_add(num + 1))
    }

    return ( < ><button onClick = { () = >{
            setOpen(!open);
            setReducer()
        }
    } > HOOK < /button>
            <span>{open?"打开":"关闭"}  {num}</span > </>
    )
}

class Index extends Component {
    render() {
      return   <Hook_test a={1222121}  / >
}
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-11 02:08:11

您是否考虑过使用日志记录包而不是console.log?例如,debug设置起来很简单。

使用日志记录包可能需要使用webpack,这可能是一个开始使用的过程,但如果您已经在使用React...如果你从Create React App开始,你会“免费”得到webpack,只需要导入或者需要一个调试库。

以下是使用debug和create-react-app的示例

代码语言:javascript
运行
复制
// in src/App.js 
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';

const debug = require('debug')('App');

class App extends Component {
  render() {
    const myVar = { a: 1, b: 2 };
    debug('rendering...', myVar);
    return (....

然后,要查看调试输出,只需从浏览器Javascript控制台将localStorage.debug='*'App设置为。要查看在服务器端运行的代码的输出,请将所有调试输出的环境变量DEBUG设置为*App来运行服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56074956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档