๐ก
CJS (Common JS)
- require(<path>)
- Node JS ๋ ๊ธฐ๋ณธ์ผ๋ก Common JS ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ๋ชจ๋์ ๋๊ธฐ์ ์ผ๋ก ๊ฐ์ ธ์จ๋ค.
- ๋ธ๋ผ์ฐ์ ์์ ๋์ํ์ง ์๋๋ค.
- ๊ฐ์ ธ์จ ๋ชจ๋์ ๋ณต์ฌ๋ณธ์ ์ ๊ณตํ๋ค.
const jQuery = require('jQuery')
AMD (Asynchronous Module Definition)
- AMD ๋ ๋ชจ๋์ ๋น๋๊ธฐ์ ์ผ๋ก ๊ฐ์ ธ์จ๋ค.
- ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ค.
define(["jquery"], function ($) {
return function() {}
});
UMD (Universal Module Definition)
- ๋ธ๋ผ์ฐ์ ์ Node ๊ธฐ๋ฐ์์ ๋ชจ๋ ๋์ํ๋ค.
- ์คํ์ด์๋ ์ฝ๋ ์์ฑ ํจํด์ด๋ค.
(function (root, factory) {
if (typeof define === "function" && define.amd) { // amd
define(["jquery", "underscore"], factory);
} else if (typeof exports === "object") { // common js
module.exports = factory(require("jquery"), require("underscore"));
} else { // browser
root.Requester = factory(root.$, root._);
}
}(this, function ($, _) {
// this is where I defined my module implementation
var Requester = { // ... };
return Requester;
}));
ESM (ES Modules)
- ES ํ์ค ๋ชจ๋ ์์คํ
- ๊ฐ๋จํ ๊ตฌ๋ฌธ
- ๋น๋๊ธฐ์์ผ๋ก ๋์
- ์ ์ ๋ชจ๋ ๊ตฌ์กฐ๋ก ์ธํ Tree Shakeable
import React from 'react';