簡易 NodeJS 教學

簡介

歷史與簡介

  • JavaScript 是網景公司為了瀏覽器開發的程式語言
    只能在瀏覽器上使用的語言
    為了搭上當時潮到出水的 Java 熱潮,就幫這個語言取了JavaScript,但他們兩個就跟 dog 與 hot dog 一樣,毫無關聯
  • NodeJS 是可以讓 Javascript 脫離瀏覽器單獨執行的引擎,並可以藉此製作簡易的 Server

混亂的 JavaScript

// 這是註解
/* 這也是註解 */

// 宣告變數
var i = 1; // 這是一般變數,連資料型態都可以改變
let k = 2; // 這是一般變數,但資料型態不可以改變
const owo = 3; // 這是「常數」,連資料內容都不可以改變

// 有沒有分號,都是無所謂的
console.log(1); // 有分號可以
console.log(2)  // 沒有分號也是可以的

// 字串的表示用單引號或霜引號都可以
var a = 'Hello World' // OK
var b = "Hello World" // OK
var c = 'Hellow World" // not OK '
var d = "Hello 'World'" // OK => Hello 'World'
var e = 'Hello "World"' // OK => Hello "World"

// == 是不好的判斷, === 才是可靠的判斷
// 同理 != 不可靠, !== 才可靠
console.log( 1 == '1' ) // true
console.log( 1 === '1' ) // false

// 資料型態
var i = undefined // 跟 null 是一樣的
var i = 1 // 數字
var i = [] // 陣列
var i = {} // 物件

// method 方法
function app (var owo) {
    console.log(owo);
}

const app = function (var owo) {
    console.log(owo);
}

const app = (owo) => {
    console.log(owo);
}

// import module and callback function
const fs = require('fs');

// destination.txt will be created or overwritten by default.
fs.copyFile('source.txt', 'destination.txt', (err) => {
  if (err) throw err;
  console.log('source.txt was copied to destination.txt');
});

其他人規範的 JavaScript

coding Style

https://standardjs.com/rules-zhtw.html

建構簡易 Server

const http = require('http');

http.createServer((request, response) => {
  response.writeHead(200, { 'Content-Type': 'text/plain' });
  response.end('Hello World!');
}).listen(8000);

console.log('Server running at http://127.0.0.1:8000/');

安裝套件

建構簡易 Server


var express = require('express');
var app = express();

app.use(express.static('public'));
app.use(express.static('你喜歡的資料夾名稱'));

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

註冊

heroku create

git push heroku master

heroku open

Made with Slides.com