我正在学习如何制作基于react的网页。
在我知道 typescript 可以转换到ES 3之后,ES 3基本上在所有浏览器上都支持。
我开始尝试制作一个简单的Hello World React应用程序,它将使用ES 3 JavaScript,我在虚拟机Win7的IE8上测试了它。
但问题是......也许没人会感到惊讶,它没有工作。
以下是我配置应用时采取的措施:
1.一开始我只修改了tsconfig.json
的{“目标”:“es3”}
- 结果是
npm start
上的一堆错误
1.所以我加了{“lib”:[...
,“ES 5”,“ES6”] }(我一开始添加了更多的ES#
,但不知何故它给出了更多的错误)
- 并且开发服务器已成功启动
- 但当我尝试在IE8中打开它时,它给出了一个错误,即无法识别
=>
,这是可以理解的
1.所以我开始寻找为什么JavaScript不能正确地传递到ES 3,并尝试返回{“目标”:“ES 5”},它也不应该支持箭头函数。
- 但它们仍然存在于最终的代码中
1.所以我试着用npm run build
来构建它
- 这确实解决了这个问题,但代码现在包含了
Symbol
s,这在IE8上给出了错误。
1.所以我开始尝试随机操作,例如添加{ "downlevelIteration": true, "importHelpers": true }
和tsc .
- 当然没有成功。
1.然后我在一个随机的网站上发现可以添加一个./src/tsconfig.json
和一个./src/tsconfig.dev.json
,所以我就配置了target
downlevelIteration
和importhelpers
,并建立了网页。
- 但它不起作用,同样的问题。
1.我开始变得焦躁不安,所以我导入了react-app-polyfill
和babel-polyfill
并进行了构建。
- 这一次,虽然最终的JavaScript文件不包含
Symbol
,但它没有工作,因为一些愚蠢的错误,期望一些string
在一些行如下:所以可以理解的是,我停止了我自己打电脑已经浪费了大约4/5天与这个有问题的目标。
1.经过“一些”搜索后我认为,该代码需要进行ES3ify
编辑,因为我看到了被遗忘的行与ES3ify
示例中给出的行之间的相似之处,在ES3ify
示例中,类似的行被转换为"name-idont-remember" : function(){function i dont remember}
。
编辑:如果更容易,我也会使用VITE。
**因此,现在我所要求的只是某种指南/步骤列表,
每次我想制作ES 3 React-App时都会用到的。**
- 如果你可以提供这种待办事项列表,或者你有链接到类似的东西,这是明确的,我会感激的善良行为,每次我阻止自己创造一个美丽的洞在我的电脑屏幕上
(我会非常感激的)
所以如果你能告诉我哪里做错了,或者更好,告诉我每一步都做错了什么,我也会很感激。
非常感谢大家/(我想现在人工智能也是)。
1条答案
按热度按时间qyswt5oh1#
巴伯尔配置js:
模块.导出=函数(API){ const isProd = api.env('生产');
};
虚拟配置js:
到目前为止只在一个JavaScript项目中测试过。我仍然需要将所有内容转换为Typescript,然后才能肯定地说它将在那里工作。
我仍然需要验证完成的构建,但要到周五才能完成。Vite构建过程本身目前运行良好。
Eslint Compat也没有显示出它不兼容ES 3的问题。