NodeJS Development Setting
NVM(Node Version Manager) trouble shooting
nvm not found
- run source ~/.nvm/nvm.sh on ~/ location
NPM(Node Package Manager)
npm --save [package name] : install package and write dependencies on "package.json"
npm --save-dev [package name] : install packages for development environment packages.
npm packages
express : express.js framework
mongoose : abstract mongodb and provide mongodb api
body-parser : parse incoming request body. parsing middleware.
nodemon : restart automatically nodejs server when save the js files.
eslint : linter for ecama script
babel-cli / babel-core / babel-eslint / babel-preset-es2015 / babel-preset-statge-0
-> It is important that whether web browser supports ES2015 or not, thus product is needed to transform to javascript. Babel is "transpiler" which transforms ES2015 file to javascript.
-> need to create .barbelrc file
-> babel core will transform src directory files to dist directory{ "presets":[ "es2015", "stage-0" ] }
package.json sample file
"name": "sample-app", "version": "0.0.1", "description": "descriptions..", "main": "dist", "scripts": { "dev": "NODE_ENV=development nodemon -w src --exec \"babel-node src --presets es2015,stage-0\"", "build": "babel src -s -D -d dist --presets es2015,stage-0", "prestart":"npm run -s build", "start":"NODE_EV=production pm2 start dist", "lint":"eslint src", "test": "echo \"Error: no test specified\" && exit 1" }, "eslintConfig": { "parserOptions": { "ecmaVersion": 7, "sourceType": "module" }, "env": { "node": true }, "rules": { "no-console": 0, "no-unused-vars": 1 } }, "author": "author", "license": "ISC", "dependencies": { "body-parser": "^1.17.1", "express": "^4.15.2", "mongoose": "^4.9.1" }, "devDependencies": { "babel-cli": "^6.24.0", "babel-core": "^6.24.0", "babel-eslint": "^7.2.0", "babel-preset-es2015": "^6.24.0", "babel-preset-stage-0": "^6.22.0", "eslint": "^3.18.0", "nodemon": "^1.11.0" } }