Übersetzen Sie bestimmte Pakete in node_modules nach es5
P粉481366803
P粉481366803 2023-08-17 21:55:01
0
1
539
<p>Ich erstelle ein Angular 12-Projekt (IE-kompatibel), bei dem einige meiner Abhängigkeiten in node_modules nicht-es5 sind. </p> <p>Nach meinem Verständnis führt <code>tsc</code> keine Verarbeitung auf node_modules durch, sondern ruft nur <code>main</code> von <code>angular.json</code> ab; Option startet Auswertung. </p> <p>Auf der Suche nach Optionen dafür habe ich viele Vorschläge zur Verwendung von Babel gesehen, bin mir aber nicht sicher</p> <ol> <li><p>Soll ich Babel mit TSC mischen? Oder verzichte ich auf <code>tsc</code> und verwende einfach babel über das benutzerdefinierte Webpack? </p> </li> <li><p>Soweit ich weiß, geht der transpilierte Code bei allen Transpilationen in ein Ausgabeverzeichnis, aber da ich die js-Dateien in node_modules transpilieren muss, sollte die Ausgabe dieser Dateien sie einfach im Original ersetzen Dateien in node_modules? Wie erreichen wir das? </p> </li> </ol><p><br /></p>
P粉481366803
P粉481366803

Antworte allen(1)
P粉786800174

您可以在tsconfig中的include中添加特定的覆盖。

"include": [
  "src/**/*",
  "node_modules/foo/index.ts",
  "node_modules/bar/quux.baz.mjs"
]

但是当您为客户端打包时,通常不会将依赖项作为单独的脚本包含在内,而是让打包工具决定将它们放在何处。您没有提到您当前使用的打包工具,但是如果您设置了allowJS: true,则不需要Babel - 例如,对于Webpack配置的相关更改将是:

{
  test: /\.(js|ts)$/,
  exclude: /node_modules\/(?!(foo|bar)\/).*/, // 这一行

但是,如果您想要自动填充,使用带有Browserslist字符串的@babel/preset-env可能是最佳选择。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!