是否可以为所有反应组件自动导入JS文件?

问题描述 投票:0回答:2

我创建了一个日志实用程序函数,我计划在我的站点中使用99%的组件。我想知道是否可以访问此文件而无需从'utils / logging'中写入“import {logger}”;“对于每个React组件?有点像自动导入?

我正在使用create-react-app。

javascript reactjs import ecmascript-6 auto
2个回答
0
投票

如果我理解你的要求,你想要类似于console.log(不导入控制台),那么下面你可以试试。

在索引文件中,将其设置为global对象(对于服务器端js)或window对象(对于客户端js)。这样,它可以在任何地方访问。

我们有这样的东西与mmiddleware(使用redux-logger包):

const logger = require('redux-logger').createLogger

return middleware.concat(logger({
  collapsed: true,
  duration: true
}))

希望这可以帮助!


-1
投票

你想要做的事听起来像是一种糟糕的方式。如果您需要记录自定义数据,我认为最好的解决方案是创建/添加中间件。或者在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()
© www.soinside.com 2019 - 2024. All rights reserved.