モジュール管理システムの違い
CommonJS(モジュール管理システム①)→主にnodejs上で動く。
ESmodule(モジュール管理システム②)→ブラウザでもnodejsでも動く。基本こっちで書く。
モジュールのインポートエクスポートの記法が異なる。
Node.js v18.15.0
CJS
sub.js
//CommonJS(モジュール管理システム)のエクスポート書き方
exports.hello = () => {
console.log("hello,japan")
}
// const hello = () => {
// console.log("hello,japan")
// }
// module.exports = {
// hello
// }
main.js
//CommonJS(モジュール管理システム)のインポート書き方
const myModule = require("./sub")
myModule.hello()
EJS
sub.js
//EJS(モジュール管理システム)のエクスポート書き方
const hello = () => {
console.log("hello,japan")
}
export {
hello
}
main.js
//CommonJS(モジュール管理システム)のインポート書き方
import { hello } from "./sub.js"
hello()
package.json
{
"type": "module"
}