TypeScript ๋ฒ์ : ๋ฒ์ 3.9.0-dev.20200228
๊ฒ์์ด:
importhelper๋ก ๋ด๋ณด๋ด๊ธฐ
importstar๋ก ๋ด๋ณด๋ด๊ธฐ
๋์ฐ๋ฏธ๋ก ๋ด๋ณด๋ด๊ธฐ
์ํธ
export * as _ from 'lodash-es';
๋ค์ ๊ตฌ์ฑ์ผ๋ก ์ปดํ์ผ๋ฉ๋๋ค.
{
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"importHelpers": true,
"esModuleInterop": true
}
}
์์๋๋ ๋์ :
์ถ๋ ฅ์ ๋๋ฑํ ์ด์ TS๋ฅผ ์ปดํ์ผํ๋ ๊ฒ๊ณผ ๋์ผํด์ผํฉ๋๋ค.
import * as _ from 'lodash-es';
export {_}
์ฆ, ์ปดํ์ผ ๋ ์๋ฐ ์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์์ผํฉ๋๋ค.
"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 Playground๋ importHelpers
์ง์ํ์ง ์์ผ๋ฉฐ ์๋ ๋ก๊ทธ noEmitHelpers
๋ ์ด๋ฌํ ๋์์ ์ ๋ฐํ์ง ์์ต๋๋ค. ํ๋ ์ด ๊ทธ๋ผ์ด๋๋ฅผ ์ฌ์ฉํ์ฌ์ด ๋ฌธ์ ๋ฅผ ์ฌํ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ด๋ จ ๋ฌธ์ :
์ ์ฌํ ๋ฌธ์ ๊ฒ์์ # 21560 ๋ฐ # 27415๋ฅผ ๊ฐ๋ฆฌํค๋ฉฐ ๊ฐ์ ธ ์ค๊ธฐ ๋์ฐ๋ฏธ๊ฐ ๋ค๋ฅธ ๊ฐ์ฅ์๋ฆฌ ์ผ์ด์ค์ ์ธ๋ผ์ธ๋๋ค๋ ๊ฒ๋ ์ธ๊ธํ์ต๋๋ค. export-as๋ ๋์ ๊ฐ์ ธ ์ค๊ธฐ๊ฐ ์๋๋ฉฐ ์ผ๋ฐ ๊ฐ์ ธ ์ค๊ธฐ์ ๊ด๋ จ๋ ์ด์ ๋ฌธ์ ๊ฐ ์ข ๊ฒฐ ๋ ๊ฒ์ผ๋ก ๋ณด์, ์ด๊ฒ์ ๋ค๋ฅธ ๊ด๋ จ ๋ฌธ์ ๋ก ๋ณด์ ๋๋ค.
"__setModuleDefault"๋์ฐ๋ฏธ๊ฐ์ด ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
TypeError: Cannot redefine property: default
๋๋ 3.8์์ ์ด๊ฒ์ ๋ง๋์ง ๋ชปํ์ต๋๋ค.
@lotz ๋ชจ๋ ํฌ๋ก์ค ํ์น๋ก ๋๋ฅผ ์ํด ๋์ผ
3.9.2๋ก ์์
๊ธฐ๋ณธ ๋ด๋ณด๋ด๊ธฐ๋ฟ๋ง ์๋๋ผ ๋ด๋ณด๋ด๊ธฐ๋ผ๋ ์ด๋ฆ์ผ๋ก๋ ์ด๋ฆ์ด ์ง์ ๋ ๊ฐ์ ธ ์ค๊ธฐ ๊ฐ์ ธ ์ค๊ธฐ๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์น๋ฃํด์ผ export * as ns from ...
์ ๊ฐ์ import * as ns from ...
์์ collectExternalModuleInfo
. ๊ณง ์์ ํด์ผํฉ๋๋ค.
@lotz : ๊ทํ์ ๋ฌธ์ ๊ฐ ๊ด๋ จ๋์ด ์๋์ง ํ์คํ์ง ์์ผ๋ฉฐ # 38808์ ์ํด ์์ ๋์์ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ฌ์ค์ธ์ง ํ์ธํ ์ ์๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ฌ๋ก์ ๋ํ ํน์ ์ฌํ์ ์ ๊ณต ํ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
"__setModuleDefault"๋์ฐ๋ฏธ๊ฐ์ด ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
๋๋ 3.8์์ ์ด๊ฒ์ ๋ง๋์ง ๋ชปํ์ต๋๋ค.