Можно ли автоматически импортировать файлы JS для всех реагирующих компонентов? - PullRequest
0 голосов
/ 11 сентября 2018

Я создал функцию ведения журнала, которую планирую использовать на 99% компонентов моего сайта.Мне интересно, возможно ли получить доступ к этому файлу без необходимости писать "import {logger} из 'utils / logging';"для каждого компонента React?Вроде как авто импорт?

Я использую приложение create-реагировать.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

То, что вы пытаетесь сделать, звучит как плохой способ сделать это. Я думаю, что лучшим решением, если вам нужны зарегистрированные данные, было бы создание / добавление промежуточного программного обеспечения. Или в случае React, может быть, компонент-обертка. Я не уверен.

В противном случае посмотрите на React / Redux Dev Tools Extension.

https://github.com/facebook/react-devtools

https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi

Edit: Если вы хотите игнорировать передовой опыт, вы можете сделать это:

// 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()
0 голосов
/ 11 сентября 2018

Если я правильно понимаю ваше требование, вы хотите аналогичное использование console.log (без импорта консоли), то ниже вы можете попробовать следующее.

В файле индекса установите его как global объект (для js на стороне сервера) или window объект (для js на стороне клиента).Таким образом, к нему можно получить доступ где угодно.

У нас было что-то подобное с программным обеспечением mmiddleware (с использованием пакета redux-logger ):

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

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

Надеюсь, это поможет!

...