.defaultを付けないと動かないのなに?
.defaultを付けないと動かないのなに?
docsを読みたいけどどこに書いているのかわからない
styled-componentsの例
こう書くとエラーになる
code:ts
import styled from 'styled-components';
const Container = styled.div;
こんな感じで書く必要がある
code:ts
import _styled from 'styled-components';
const styled = _styled.default;
const Container = styled.div;
.defaultの中に入っている
styled-components以外のライブラリでも同様のことが起きるものがある
Ajvの例
styled-componentsの実装
以下のようにexportされている
code:ts
export { LibraryStyled, Styled, StyledInstance, styled as default, styled };
また、styled-componentsはFake ESMなので実質はCJS
これが生じる条件がわからない
CJS→styled-componentsを、ESM→style-componentsに書き換えたときに起きたmrsekut.icon
CJSのpackageを、ESMから参照している時の固有の話?
それでいてかつCJS側で
exports.default = hoge;と書いている時?
が、styled-componentsのpackage.jsonには、exportsは明記されていない
根本的になくすためには誰がどう対応する必要がある?
packageの作成者が、ESMに替える、とか
packageの作成者が、exportの方法を変える、
とか?
この辺の知識がない
し、今から学ぶモチベもない..
まあ別にそんな困ってはいない
defaultつければいいだけなので