node.js 에서 import/export
를 사용하려면 설정이 추가로 필요하다
sitemap 을 분석해서 사용하려고 sitemapper 를 사용하는데
import 구문이 오류가 난다
이유는 모듈 사용에 대해서 설정해주지 않으면 CommonJS 만 사용가능하다
index.js1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import Sitemapper from 'sitemapper';
(async () => { const Google = new Sitemapper({ url: 'https://www.google.com/work/sitemap.xml', timeout: 15000, });
try { const { sites } = await Google.fetch(); console.log(sites); } catch (error) { console.log(error); } })();
|
Node.js 에 ES 모듈 적용
package.json
에 type: module
을 설정해서 모듈을 사용할 수 있게 해주면 된다.
Node 13 버전 이상에서는 type 설정으로 import/export 를 사용할 수 있다
package.json1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| { "name": "blog-sitemap", "version": "1.0.0", "description": "", "main": "src/index.js", "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "sitemapper": "^3.1.12" }, "devDependencies": { "eslint": "^7.26.0" } }
|
실행
실행하면 오류 없이 실행되는 걸 확인할 수 있다