cari

Rumah  >  Soal Jawab  >  teks badan

Terjemahkan pakej tertentu dalam node_modules kepada es5

<p>Saya sedang membuat projek Angular 12 (IE serasi) dengan beberapa kebergantungan saya dalam node_modules bukan es5. </p> <p>Pada pemahaman saya, <code>tsc</code> tidak akan melakukan sebarang pemprosesan pada node_modules, tetapi hanya akan mendapatkan <code>main</code> daripada <code>angular.json</code> Pilihan memulakan penilaian. </p> <p>Semasa mencari pilihan tentang cara melakukan ini, saya melihat banyak cadangan untuk menggunakan babel, tetapi saya tidak pasti</p> <ol> <li><p>Patutkah saya mencampurkan babel dengan tsc. Atau adakah saya menghapuskan <code>tsc</code> dan hanya menggunakan babel melalui custom-webpack? </p> </li> <li><p>Setakat yang saya faham, dalam semua transpilasi, kod transpil masuk ke dalam direktori output, tetapi memandangkan saya perlu mentranspile fail js dalam node_modules, output fail ini hendaklah menggantikannya dalam Original fail dalam node_modules? Bagaimana kita mencapai ini? </p> </li> </ol><p><br /></p>
P粉481366803P粉481366803470 hari yang lalu612

membalas semua(1)saya akan balas

  • P粉786800174

    P粉7868001742023-08-18 15:16:11

    Anda boleh menambah penggantian khusus dalam include dalam tsconfig.

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

    Tetapi apabila anda membungkus untuk pelanggan, anda biasanya tidak memasukkan kebergantungan sebagai skrip berasingan, tetapi biarkan alat pembungkusan memutuskan di mana untuk meletakkannya. Anda tidak menyebut alat pembungkusan yang sedang anda gunakan, tetapi jika anda telah allowJS: true menyediakan, anda tidak memerlukan Babel - contohnya, perubahan yang berkaitan pada konfigurasi Webpack anda ialah:

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

    Walau bagaimanapun, jika anda mahukan autoisi, menggunakan @babel/preset-envdengan rentetan Senarai Pelayar mungkin pilihan terbaik.

    balas
    0
  • Batalbalas