IoTKETI / Mobius

oneM2M IoT Server Platform
http://developers.iotocean.org/archives/module/mobius
BSD 3-Clause "New" or "Revised" License
135 stars 87 forks source link

package.json 에서의 빌트인 모듈 명세 의도 문의 #2

Open anpaul0615 opened 7 years ago

anpaul0615 commented 7 years ago

안녕하세요, package.json 보다가 조금 궁금한 부분이 있어서 문의드립니다.

{
  "name": "Mobius",
  "version": "2.0.0",
  "dependencies": {
    "body-parser": "^1.17.0",
    "cbor": "^3.0.0",
    "coap": "^0.21.0",
    "crypto": "0.0.3",
    "events": "^1.1.1",
    "express": "^4.15.1",
    "file-stream-rotator": "0.1.0",
    "fs": "0.0.2",
    "http": "0.0.0",
    "https": "^1.0.0",
    "ip": "^1.1.5",
    "js2xmlparser": "^3.0.0",
    "merge": "^1.2.0",
    "moment": "^2.17.1",
    "morgan": "^1.8.1",
    "mqtt": "^2.9.1",
    "mysql": "^2.13.0",
    "shortid": "^2.2.6",
    "url": "^0.11.0",
    "util": "^0.10.3",
    "websocket": "^1.0.24",
    "xml2js": "^0.4.17",
    "xmlbuilder": "^9.0.1"
  },
  "description": "Mobius:Yellow Turtle",
  "main": "mobius.js",
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Il Yeup Ahn, KETI",
  "license": "ISC"
}

위 명세들을 잘살펴보면

"crypto": "0.0.3",
"fs": "0.0.2",
"http": "0.0.0",
"url": "^0.11.0",
"util": "^0.10.3",

등 과 같은 빌드인 모듈들을 dependencies 에 명세하는 특별한 이유가 있나요?

npm repository 를 살펴보니 저 패키지들이 등록되어 있는데요. 그렇다면 npm install 로 프로젝트 시작할때 의존성 패키지들이 함께 설치될꺼고, 코드상에서 해당 패키지들을 호출할때, 빌트인 모듈들과 충돌이 발생하지 않을까 싶은데요..

빌트인 모듈들을 package.json 에 명세하신 이유가 무엇인지 궁금합니다.

IoTKETI commented 7 years ago

코드는 언급하신 모듈이 빌트인 된 모듈을 사용하지 않더라고 독립적으로 모듈을 사용하기 위해 추가된 것입니다. 현재까지 충돌은 발생하지 않았습니다. 만약 충돌이 발생한다면 업데이트를 할 것입니다.