我创建了一个日志实用程序函数,我计划在我的站点中使用99%的组件。我想知道是否可以访问此文件而无需从'utils / logging'中写入“import {logger}”;“对于每个React组件?有点像自动导入?
我正在使用create-react-app。
如果我理解你的要求,你想要类似于console.log(不导入控制台),那么下面你可以试试。
在索引文件中,将其设置为global
对象(对于服务器端js)或window
对象(对于客户端js)。这样,它可以在任何地方访问。
我们有这样的东西与mmiddleware(使用redux-logger包):
const logger = require('redux-logger').createLogger
return middleware.concat(logger({
collapsed: true,
duration: true
}))
希望这可以帮助!
你想要做的事听起来像是一种糟糕的方式。如果您需要记录自定义数据,我认为最好的解决方案是创建/添加中间件。或者在React的情况下可能是一个包装器组件。我不确定。
否则请查看React / Redux Dev Tools Extension。
https://github.com/facebook/react-devtools
https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi
编辑:如果您想忽略良好做法,那么您可以这样做:
// in index.js or app.js or wherever
import { logger } from 'utils/logging'
// if you have an env for development use it here
process.NODE_ENV = 'development' && window.logger = logger
// or just
window.logger = logger
// SomeComponent.js
window.logger()