Я относительно новичок в современной разработке JS, и мне нужна помощь или совет в этой ситуации.
Ситуация: У нас есть проект React-Typescript-Redux, поддерживающийIE8 (реакция 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.
Итак, кто-нибудь может с уверенностью сказать мне, что это невозможно, или предложить какое-то руководство? Это - самый близкий ответ, который я нашел до сих пор, но он не звучит окончательно.В качестве альтернативы, может ли структура проекта, подобная этой поддержке, что требуется, или лучше всего разделить проект на две части?
Заранее спасибо.