最終更新日: 2026-07-24
TOP(About this memo)) > 一覧(JavaScript) > モジュール(import/export)
defaultをつけると「このモジュールの中でこのクラスがメインの処理である」ということを表せる。
{}が不要になる。
import otogizoshi from './export-default.js'
export default App; のようになっていないものを波括弧を使わずにimportしようとするとエラーになる。
import { VueReCaptcha } from 'vue-recaptcha-v3'; でハマった。({}をつけなかったら以下のエラーが出た)
Uncaught TypeError: Cannot read properties of undefined (reading 'install')
at Function.e.use (vue.common.prod.js:6)
at Module.<anonymous> (app.js:36)
at n (bootstrap:19)
at Object.<anonymous> (app.js:1)
at n (bootstrap:19)
at bootstrap:83
at app.js:1
import React, { useState, useEffect } from 'react'; は、declare namespace React { の中のuseStateとuseEffectだけを持ってくる、という意味になる。import React, { 呼び出したいモジュール } from 'react' のようにし、それ以外でdefault exportになっているものは波括弧をつけず、defaultになっていないものは波括弧をつける、という理解で概ね合っていそう。・require
var hoge = require('hoge');
var hoge = require('hoge').hoge;
module.exports = hoge;
exports.hoge = hoge;
・import
import hoge from 'hoge';
import { hoge } from 'hoge';
export default hoge;
export { hoge };
module.exportsを使っておけばよい。moduleは現在のモジュールへの参照であり、実際にはグローバルではなく各モジュールごとのローカルとなる。import AuthUtil from '../../utils/AuthUtil';import { AUTH_CLIENTS } from '../../utils/AuthUtil';AUTH_CLIENTS参照時にエラーになる。
import AuthUtil from '../../utils/AuthUtil';import { AUTH_CLIENTS } from '../../utils/AuthUtil';