我对现代JS开发相对较新,我需要有关这种情况的帮助或建议.
情况:我们有一个支持IE8的React-Typescript-Redux项目(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
Run Code Online (Sandbox Code Playgroud)
我认为可能工作的是引入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
Run Code Online (Sandbox Code Playgroud)
我在网上尝试了不同的东西,包括resolve.modules: [__dirname + "/ie8/node_modules"]但它似乎不起作用或者我误解了它的作用,因为我Cannot find name 'require'在几个文件上得到错误而且在终端输出中引用了Typescript 2.8.3而不是2.3.4.没有它,项目构建与IE11的配置.
那么,任何人都可以肯定地告诉我它不可能或提供一些指导吗?这是我到目前为止找到的最接近的答案,但听起来不是最终的.或者,可以像这样支持项目结构或将项目分成两个是最好的选择吗?
提前致谢.