NodeJS Development Setting

  1. NVM(Node Version Manager) trouble shooting

    1. nvm not found

      1. run source ~/.nvm/nvm.sh on ~/ location
  2. NPM(Node Package Manager)

    1. npm --save [package name] : install package and write dependencies on "package.json"

    2. npm --save-dev [package name] : install packages for development environment packages.

    3. npm packages

      1. express : express.js framework

      2. mongoose : abstract mongodb and provide mongodb api

      3. body-parser : parse incoming request body. parsing middleware.

      4. nodemon : restart automatically nodejs server when save the js files.

      5. eslint : linter for ecama script

      6. 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

      7. {
          "presets":[
            "es2015",
            "stage-0"
          ]
        }
        
      8. package.json sample file

      9. "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"
          }
        }
        

results matching ""

    No results matching ""