Typescript: ИспользованиС export-as испускаСт __importStar ΠΈ связанныС с Π½ΠΈΠΌ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° importHelpers: true

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 28 Ρ„Π΅Π²Ρ€. 2020  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: microsoft/TypeScript


ВСрсия TypeScript: вСрсия 3.9.0-dev.20200228


Условия поиска:

экспорт ΠΊΠ°ΠΊ importhelpers
экспорт ΠΊΠ°ΠΊ importstar
ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ

Код

export * as _ from 'lodash-es';

скомпилирован со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ:

{
  "compilerOptions": {
    "target": "es2020",
    "module": "commonjs",
    "importHelpers": true,
    "esModuleInterop": true
  }
}

ОТидаСмоС повСдСниС:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ компиляции эквивалСнтного старого TS:

import * as _ from 'lodash-es';
export {_}

Ρ‚.Π΅. скомпилированный Javascript Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
// export * as _ from 'lodash-es';
const _ = tslib_1.__importStar(require("lodash-es"));
exports._ = _;

ЀактичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

Π˜ΡΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports._ = __importStar(require("lodash-es"));

Бсылка Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΡƒ:

Π˜Π³Ρ€ΠΎΠ²Π°Ρ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ° Typescript Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ importHelpers , Π° Π°Π½Π°Π»ΠΎΠ³ noEmitHelpers Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния; Π― Π½Π΅ Π²Π΅Ρ€ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ воспроизвСсти эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Playground.

БвязанныС вопросы:

Поиск ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π» ΠΌΠ½Π΅ Π½Π° # 21560 ΠΈ # 27415, Π³Π΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°, встроСнныС Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΡ€Π°ΠΉΠ½ΠΈΡ… случаях. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ экспорт Π½Π΅ являСтся динамичСским ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ, ΠΈ Π±ΠΎΠ»Π΅Π΅ старая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, связанная с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ, Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, это, ΠΏΠΎΡ…ΠΎΠΆΠ΅, другая, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, связанная с этим ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚Ρƒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρƒ мСня Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Β«__setModuleDefaultΒ»:

TypeError: Cannot redefine property: default

Под 3.8 Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ встрСчал.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚Ρƒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρƒ мСня Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ Β«__setModuleDefaultΒ»:

TypeError: Cannot redefine property: default

Под 3.8 Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ встрСчал.

@lotz Ρ‚ΠΎ ΠΆΠ΅ самоС для мСня с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ cross-fetch
Начал с 3.9.2

Π― исправил это, Π½Π°Π·Π²Π°Π² ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ называСтся экспортированной, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ экспортированной ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ export * as ns from ... ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊ import * as ns from ... Π² collectExternalModuleInfo . ВскорС я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это.

@lotz : Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, связана Π»ΠΈ ваша ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π±Ρ‹Π»Π° исправлСна ​​с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ # 38808. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ Π»ΠΈ это, Π° Ссли Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ копию для вашСго случая?

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ