Dựa trên hướng dẫn của trang này, mình muốn note lại một số thứ để sau này sử dụng

Bước 1: Tạo một repo trên github của bạn nhé !

Imgur

Bước 2: Bạn git clone về ở local nhé !

Imgur

Bước 3: Các bạn cd vào thư mục với tên project bạn đã tạo nhé !

Imgur

Bước 4: Các bạn vào trang chủ của Heroku, tạo một account free để sử dụng nhé, sau đó vào CLI gõ lệnh heroku login -i để đăng nhập

Imgur

Bước 5: Ta sẽ tạo một project trên heroku nhé với câu lệnh heroku create <yournameproject>

Imgur

Bước 6: Sau khi tạo xong rồi, ta bắt đầu build web của chúng ta nhé, trước hết ta sử dụng lệnh npm init -y để cái packets

Imgur

Sau khi cài xong, ta sẽ thấy một file json để ta config, tiếp tục ta cài Express với câu lệnh npm install express --save nhé !

Imgur

Tiếp theo, ta sẽ tạo file app.js để tiến hành build project của chúng ta, đối với window chúng ta có thể sử dụng câu lệnh: type nul > app.js hoặc đối với Linux, các bạn có thể dùng touch app.js nhé !

Imgur

Tiếp theo, ta sẽ tiến hành code một số cái cơ bản nhất trong file app.js nhé !

// create an express app

const express = require("express")
const app = express()

// use the express-static middle ware

app.use(express.static("public"))

// define the first route

app.get("/",function(req,res){
    res.send("<h1>Hello World!")
})

// start the server listening for requests 

app.listen(process.env.PORT || 3000, ()=> console.log("Server is runnning..."))

Bước 10. Tiếp theo, ta sẽ chạy app trên local với câu lệnh node app.js và sau đó truy cập : localhost:3000 bạn sẽ thấy kết quả hiện ra:

Imgur

Bước 11: Chúng ta sẽ tiến hành thêm npm start bằng cách config lại file json ban đầu một chút nhé ! :

Imgur

Ps: Các bạn thêm dòng lệnh "start":"node app.js" vào script, và có thể test lại trên CLI bằng câu lệnh npm start

Imgur

Bước 12: Để app này chạy trên được Heroku, chúng ta phải thêm file Procfile, file này sẽ có chứng năng giúp cho server nhận diện được script cần để build, cụ thể các bạn dùng lệnh như sau: type nul > Procfile

Imgur

Và ta tiếp tục chèn các dòng lệnh : web: node app.js vào file Procfile này !

Bước 13: Tiếp theo, để trang web thêm sinh động, ta có thể thêm các file HTML, CSS và JS vào app trên bằng cách tạo ra thư mục public, và tạo ra thêm các file HTML, CSS và JS vào trong nó

Imgur

Imgur

Tiếp theo, ta sẽ code trang trí web trong này nhé !

  • index.html
<!DOCTYPE html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
	<link href="https://fonts.googleapis.com/css?family=Alegreya|Source+Sans+Pro&display=swap" rel="stylesheet">
	<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<html>
<body>
<h1>Lorem Ipsum generator</h1>
  <p>How many paragraphs do you want to generate?</p>
  <input type="number" id="quantity" min="1" max="20" value="1">
  <button id="generate">Generate</button>
  <button id="copy">Copy!</button>
<div id="lorem">
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
  • styples.css
h1 {
	font-family: 'Alegreya' ;
}

body {
	font-family: 'Source Sans Pro' ;
	width: 50%;
	margin-left: 25%;
	text-align: justify;
	line-height: 1.7;
	font-size: 18px;
}

input {
	font-size: 18px;
	text-align: center;
}

button {
	font-size: 18px;
	color: #fff;
}

#generate {
	background-color: #09f;
}

#copy {
	background-color: #0c6;
}
  • script.js
$("#generate").click(function(){
	var lorem = $("#lorem");
	lorem.html("");
	var quantity = $("#quantity")[0].valueAsNumber;
	var data = ["Lorem ipsum", "quia dolor sit", "amet", "consectetur"];
	for(var i = 0; i < quantity; i++){
		lorem.append("<p>"+data[i]+"</p>");
	}
})

$("#copy").click(function() {
	var range = document.createRange();
	range.selectNode($("#lorem")[0]);
	window.getSelection().removeAllRanges();
	window.getSelection().addRange(range);
	document.execCommand("copy");
	window.getSelection().removeAllRanges();
	}
)

Sau đó, các bạn chạy lại và thấy được kết quả như thế này:

Imgur

Bước 15: Chúng ta sẽ tiến hành deploy trên heroku nhé !

Chúng ta thực hiện các lệnh sau:

git add .
git commit -m "your comment"

và sau đó là:

git push heroku main

Bước 16: Các bạn có thể sử dụng câu lệnh heroku logs --tail để xem lịch sử log trên server của heroku nhé !

  • Nếu bạn thấy starting to crashed: Tức là ta chưa thành công nhé :v

Imgur

  • Thì sau một hồi edit, một điều chú ý khi ta ghi ở file Procfile đó là: web: node app.js

  • Và sau khi fix xong, ta có thể dùng lệnh heroku open để chạy thử, và kết quả thật bất ngờ đó là:

Imgur

và để kiểm tra lần nữa cho chắc chắn, ta có thể sử dụng lệnh heroku logs --tail để xem sự thành công khi build 1 trang lên heroku nhé !:

Imgur

OKIE, ta thấy starting to up, tức là lúc này ta đã hoàn tất !!

Lời kết, cuối cùng việc heroku đã hoàn tất, xin cảm ơn các bạn đã quan tâm theo dõi !

Ngoài ra để có thể fix lại, thì bạn chỉ cần fix trong này là được nhé ! Bye Bye !