Есть ли способ создать несколько приложений из одного с заменой некоторых активов и компонентов? - PullRequest
0 голосов
/ 21 января 2019

У меня есть структура папок моего проекта create-Reaction-app ниже.У меня есть один проект, но несколько результатов.Пока я занимаюсь разработкой и сборкой projectA , я хочу скопировать все файлы из папки projectA и вставить их, где это необходимо.

Я могу использовать их тематику, но есть много проектов для сборки, и компонент может меняться полностью в зависимости от проекта.В этом методе login.js и некоторые другие компоненты будут иметь отдельные блоки условий для каждого проекта.Эти компоненты будут очень грязными после нескольких проектов.И мне не нужен логотип других проектов в файле сборки.

Я выбираю динамическое переопределение необходимых файлов.Я ищу лучшую практику.Пожалуйста, помогите.

projectA
    public
        index.html
        favicon.ico
    src 
        images
            logo.png
        pages
            page.js (this extends base_page)

projectB
    public
        index.html
        favicon.ico
    src 
        images
            logo.png
        pages
            page.js (this extends base_page)

public
    index.html
    favicon.ico
src
    images
        logo.png
    pages
        app.js
        base_page.js
        page.js (this extends base_page)
    index.js

1 Ответ

0 голосов
/ 21 января 2019

Это возможно, но я думаю, что сначала вы должны реструктурировать свои папки:

project
 |--webpack.config.js
 `--src
     |--common
     |   `--pages
     |      |--base-page.js
     |      `--other-resources.js
     |--appA
     |   |--images
     |   |  `--logoA.png
     |   `--pages
     |      `--page.js
     |--appB
     |   |--images
     |   |  `--logoB.png
     |   `--pages
     |      `--page.js
     ...

Затем в вашем appA/pages/page.js вы можете сделать что-то вроде

import Page from '../../common/pages/base-page'

И в вашемwebpack, запись может быть

module.exports = {
  entry: [
    './src/appA/index.js',
    './src/appB/index.js',
    // other apps
  ]
}

Однако я не уверен, возможно ли это без удаления create-реакции-приложения.

...