Использование библиотеки узлов в изоморфных React / Redux / Webpack

0

Я работаю над проектом изоморфного реагирования и пытаюсь использовать SDK узла Stripe (по сравнению с их REST API) в модуле Redux. Когда Webpack создает проект, я получаю сообщение об ошибке: Module not found: Error: Cannot resolve module 'child_process'. Я знаю, что это модуль только для узлов, поэтому я не могу использовать его в браузере (я хочу, чтобы вызовы API Stripe начинались с серверной стороны), я просто не знаю, как обеспечить, чтобы узел Stripe node_module не был упакован в в файл приложения app.js.

Пока я импортирую модуль stripe в модуль redux, со стороны JSX, я импортирую только интерфейс IStripe из stripe.model и диспетчера getPlansList из моего модуля сокращения полосы.

Итак, мой вопрос заключается в том, как использовать узловые модули только в изоморфном проекте React? Нужно ли мне запускать отдельный процесс узла только для сервера, который обрабатывает мои вызовы Stripe? Или можно ли включить эту функциональность в мое изоморфное приложение?

Благодарю!

  • 0
    Просто делаю некоторые исследования. Похоже, было бы неплохо реализовать прокси API, который могут использовать и сервер, и клиент. Таким образом, я могу защитить свои личные учетные данные API на стороне сервера. Примерно так: github.com/topheman/topheman-apis-proxy
Теги:
webpack
redux
webpack-dev-server

1 ответ

0

Посмотрите на проблему, вы не должны запускать stripe-node в браузере.

Вы можете настроить alias в конфигурации webpack:

{
    resolve: {
        alias: {
            'stripe': './src/stripe-browser'
        }
    }
}

Если вам не нужно использовать Stripe в браузере, вы можете просто создать пустой файловый stripe-browser в качестве заглушки для API.

Если вы собираетесь использовать API в браузере, вам необходимо создать адаптер для клиентской библиотеки Stripe.js.

  • 0
    Я не хочу использовать какие-либо сторонние API из браузера. Я только хочу сделать эти звонки со стороны сервера. Из того, что я прочитал и увидел в некоторых шаблонах изоморфных реакционных шаблонов, есть API-прокси, который он использовал. Но мне любопытно, что делает пустая заглушка браузера в полоску. Будет ли это работать на стороне сервера, а не на стороне браузера?
  • 0
    Что касается alias в конфигурации webpack , он влияет только на сборку веб-пакета. Таким образом, вы можете запустить свой код с node он будет работать как положено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню