Не стесняйтесь комментировать или указывать на проблемы, но я надеюсь, что это поможет кому-то в будущем! :)
осительно новичок в современной разработке JS, и мне нужна помощь или совет в этой ситуации.
Ситуация: У нас есть проект React-Typescript-Redux, поддерживающий IE8 (React 0.14). Сейчас мы обновляем IE11 и React 16, но IE8 должен поддерживаться.
Требование: Сократите обслуживание проекта между версиями браузера, используя разные пакеты и / или файлы конфигурации для каждой сборки.
Проблема: Из проведенных мною исследований кажется невозможным использование разных файлов package.json и папок node_modules внутри одного проекта с выбранными инструментами: npm, Webpack, React, Redux, Typescript. Кажется, что Yarn поддерживает несколько файлов package.json, но мы бы хотели избежать миграции с npm, если это возможно.
Текущая структура проекта:
project_root/
node_modules/
src/
components/
utils/
index.tsx
components.css
index.html
package.json
tsconfig.json
webpack.config.json
Я подумал, что может сработать, чтобы представить подпапку IE8 с ее папками package.json и node_modules, а затем как-то ссылаться на эту папку для задачи сборки, но теперь я не обращаю внимания на то, как сказать npm ссылаться на нее при сборке.
Предлагаемая структура проекта:
project_root/
ie8/
node_modules/
package.json
node_modules/
src/
components/
utils/
index.tsx
components.css
index.html
package.json
tsconfig.json
webpack.config.json
Я пробовал разные вещи, найденные в Интернете, в том числеresolve.modules: [__dirname + "/ie8/node_modules"]
но, кажется, это не работает, или я неправильно понимаю, что это делает, потому что я получаюCannot find name 'require'
ошибки в нескольких файлах и Typescript 2.8.3 упоминается в выводе терминала вместо 2.3.4. Без этого проект собирается с настройкой для IE11.
Итак, кто-нибудь может с уверенностью сказать мне, что это невозможно, или предложить какое-нибудь руководство?Этот это самый близкий ответ, который я нашел до сих пор, но не звучит окончательно. В качестве альтернативы, может ли структура проекта, такая как эта поддержка, что требуется, или лучше всего разделить проект на две части?
Заранее спасибо.