import,require

import/export , require/exportsの立ち位置

import/export
ES6(ES2015)、ESモジュール(ESM)
require/exports
CommonJS(Node.js)
  • require/exportsはJavaScriptの標準APIではない

require/exports

lib1.js

var n = 1000;
var add = function (val) {
  return val + n;
};
module.exports.n = n;
module.exports.add = add;

main.js

var lib1 = require("./lib1");
console.log(lib1.add(5));

 => 1005

require/exports

lib1.mjs

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

main.mjs

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

Nodeでの実行

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

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

import module = require("module")

参考

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

Last-modified: 2020-06-30 (火) 08:26:02