Ubuntu 18下設置Node.js project (Babel+nodemon+dotenv)

建立project

建立project folder

mkdir myproject
cd myproject

npm初始化

npm init

若npm全部以預設值初始化,可加上 -y

npm init -y

初始化後,project目錄會新增了package.json

新增source code目錄並建立index.js

mkdir src
cd src
touch index.js

cd到project根目錄,並以node運行index.js

cd ..
node src/index.js

運行後package.json會新增運行命令

"scripts": {
    "start": "node src/index.js",
  },

之後可以用npm run start運行project,效果與node src/index.js效果相同

每次修改code後,需要重新運行npm run start使修改生效

使用nodemon

安裝nodemon

npm install nodemon --save-dev

–save-dev即只用於dev環境,若需用於production環境,使用–save即可

使用Babel

安裝Babel以使用ES6語法

npm install @babel/core @babel/node --save

若使用Babel 7,則:

npm install --save-dev @babel/core babel-preset-latest-node
or
yarn add --dev @babel/core babel-preset-latest-node

修改package.json內npm start命令,以babel運行

"start": "nodemon --exec babel-node src/index.js",

安裝babel/preset-env

npm install @babel/preset-env --save

於Project根目錄建立.babelrc

touch .babelrc

內容為

{
  "presets": [
    "@babel/preset-env"
  ]
}

若使用Babel 7,則:

{ "presets": [ "@babel/preset-env" ] }

 

Node.js環境變數

touch .env

可以在.env文件加入環境變數,如

PORT=3000

安裝dotenv使source code可以access環境變數

npm install dotenv --save

於src/index.js import dotenv,以process.env.變數名access環境變數

import 'dotenv/config';

console.log(process.env.PORT);

重新運行npm run start使之生效