#author("2020-06-30T08:25:33+09:00","default:ryuichi","ryuichi")
#author("2020-06-30T08:26:02+09:00","default:ryuichi","ryuichi")
* import,require [#a8379362]

** import/export , require/exportsの立ち位置 [#e55ffd0b]

:import/export | ES6(ES2015)、ESモジュール(ESM)
:require/exports | CommonJS(Node.js)

- require/exportsはJavaScriptの標準APIではない

** require/exports [#l1845a95]

*** lib1.js [#kae1b6cd]
 var n = 1000;
 var add = function (val) {
   return val + n;
 };
 module.exports.n = n;
 module.exports.add = add;

*** main.js [#v1ee7fd0]
 var lib1 = require("./lib1");
 console.log(lib1.add(5));
 
  => 1005

** require/exports [#q7bcdd0e]

*** lib1.mjs [#hfc03018]

 export function add(val1, val2) {
   return val1 + val2;
 }

*** main.mjs [#kc512624]

 import { add } from "./lib1.mjs";
 console.log(add(5, 10));

*** Nodeでの実行 [#v32435b8]

 Shell> node --experimental-modules ./main.mjs
  => 15

- NodeでESモジュールを使う場合は、拡張子を'''.mjs'''にして'''--experimental-modules'''オプションを付けて実行する
- なお、Node バージョン12以降は.mjsでなくとも、'''package.json'''に'''{ "type": "module" }'''と記述すればOKとなった
-- https://qiita.com/okumurakengo/items/bf5adb66fad14eaf0eca

** TypeScriptでexport =(またはmodule.exports =)のモジュールを読み込む [#c14c72fe]

 import module = require("module")



- https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require

** 参考 [#q994bc15]

:import | MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import
:require | Node.js https://nodejs.org/api/modules.html#modules_modules

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS