ReactJS - совместное использование общего кода, зависящего от узловых модулей, в монорепо нескольких приложений - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть приложение, которое содержит клиентское приложение и приложение сервера как для публичной, так и для административной стороны проекта.Я хочу разделить код между всеми приложениями посредством структуры каталогов, подобной этой: -

admin
  └─client
     └─dist
     └─node_modules
     └─src
     └─webpack
     .babelrc
     package.json
  └─server
     └─node_modules
     └─src
     package.json
common
  └─helpers
public
  └─client
     └─dist
     └─node_modules
     └─src
     └─webpack
     .babelrc
     package.json
  └─server
     └─node_modules
     └─src
     package.json

В моем веб-пакете у меня есть следующее: -

module: {
  rules: [
    {
      test: /\.js$/,
      include: [
        configConstants.SRC_DIR,
        configConstants.HELPERS_DIR
      ],
      use: {
        loader: 'babel-loader',
      }
    },
  ],
},

Оба configConstants.SRC_DIR и configConstants.HELPERS_DIR включают правильные каталоги.Проблема в том, что когда я включаю из общего каталога, мне нужно, чтобы они там могли анализировать JSX, включая "react" и т. Д. Теперь я могу поместить package.json в общую папку и включить необходимые пакеты, ноМне было интересно, есть ли способ включить операторы включения, такие как: -

Import React from 'react'

Для ссылки на пакеты NPM, встроенные в приложение, т. Е. Если бы я запускал сценарии NPM из public> client, есть ли способвыставить эти пакеты к коду в общей папке?Пример: -

import React from "react"
import { FormattedDate, FormattedTime } from "react-intl"

export const formatDate = (date) => {
  return <FormattedDate value={date*1000}/>
}

... или мне просто нужно создать каталог package.json и node_modules в общем каталоге?Есть ли вероятность того, что компиляция webpack минимизирует?Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...