ECMAScript 모듈에서 require()를 사용하는 방법
import
를 사용하는 대신 require
문을 사용하여 모듈을 가져오고 내보낼 수 있습니다.예 01
//multiple.js
const multiple = (num1, num2) => {
return num1 * num2;
};
이것은 다음과 같이 가져올 수 있습니다.
import { multiple } from "./multiple.js";
console.log(multiple(10, 50));
예 02(기본 내보내기)
또한 ECMAScript 모듈은 다음과 같이 사용할 수 있는 기본 내보내기를 도입합니다.
//multiple.js
const multiple = (num1, num2) => {
return num1 * num2;
};
export default multiple;
다음과 같이 가져올 수 있습니다.
import multiple from "./multiple.js";
console.log(multiple(10, 50));
기본적으로 NodeJS 앱에서는 ECMAScript 모듈을 사용할 수 없습니다. 이렇게 하려면 두 가지 방법이 있습니다.
*.js
에서 *.ejs
로 변경해야 합니다."type": "module"
파일에 package.json
를 추가할 수 있습니다.{
"name": "ECMAScript-modules",
"version": "1.0.0",
"description": "",
"type": "module",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
NodeJS의 대부분의 모듈은 이제 ECMAScript 모듈 가져오기를 지원합니다. 그러나 여전히 사용하고 싶은 경우가 있을 수 있습니다
require
.🔴ECMAScript 모듈에서
require
를 사용하는 경우. 오류가 발생합니다.import crypto from 'crypto'
const fs = require('fs')
위의 코드는 다음 오류를 발생시킵니다.
require is not defined in ES module scope, you can use import instead.
솔루션 🎉
createRequire을 사용하여 이 문제를 해결할 수 있습니다. 다음은 사용 방법에 대한 샘플 코드입니다.
import { createRequire } from "module";
const require = createRequire(import.meta.url);
import crypto from 'crypto'
const fs = require('fs')
별도의 파일에서 이를 정의하고 나중에 재사용할 수도 있습니다.
import { createRequire } from "module";
const require = createRequire(import.meta.url);
export default require;
그런 다음 이것은 다음과 같이 사용할 수 있습니다.
import require from "./cjs-require.";
const crypto = require("crypto");
즐겁게 읽으셨기를 바랍니다.
문제가 발생하면 의견을 말하십시오. 기꺼이 도와드리겠습니다. 또한 나와 연결
Reference
이 문제에 관하여(ECMAScript 모듈에서 require()를 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/caspergeek/how-to-use-require-in-ecmascript-modules-1l42텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)