สอบถาม การเรียกใช้งาน node express api บน vps ครับ
1 บน VPS ได้ลง nodejs หรือยัง
2 สั่ง run service บน server เช่น nodejs index.js หรือยัง เพื่อที่จะรอรับ request
Date :
2021-05-11 11:52:57
By :
Chaidhanan
Code (JavaScript)
router.get('/getsomthing',(req,res) => {
var api = require('/path/api.js');
api.your_func1;
});
มีคำสั่ง get url คล้ายข้างบนไหม
คือ ถ้าสั่ง nodejs filename.js แล้ว ก็อยู่ที่โค๊ดภายในแล้ว เขียนไว้อย่างไร
Date :
2021-05-11 12:09:42
By :
Chaidhanan
Code (JavaScript)
const express = require("express");
const app = express();
const cors = require("cors");
const config = require("./config");
const shop = require("./api/shop");
const staff = require("./api/staff");
const multer = require("multer");
const socket = require("./socket");
// const port = 80;
const port = process.env.port || 9990;
app.use(
express.urlencoded({
parameterLimit: 100000,
limit: "50mb",
type: "application/json",
extended: true,
}));
app.use(express.json());
app.set("json spaces", 2);
app.use(
cors({
credentials: true,
origin: "http://localhost:3000", // URL of the react (Frontend) app
})
);
app.use("/api/shop", shop);
app.use("/api/staff", staff);
// default route
app.get("/", (req, res) => {
return res.send({
error: false,
message: "default root path",
});
});
app.use((err, req, res, next) => {
res.send(err.message);
});
console.log("before socket run");
app.listen(port, () => {
const datetime = new Date();
const message = `Server runnning on Port:- ${port} Started at :- ${datetime}`;
console.log(message);
});
/////
shop.js
Code (JavaScript)
const express = require("express");
const route = express.Router();
const config = require("../config.js");
const proc = require("../procedures");
route.get("/getshop/:shopcode", async (req, res, next) => {
const shopCode = req.params.shopcode;
config.query(proc.getShopList, shopCode, (error, results, fields) => {
if (error) throw error;
if (results[0].length === 0) {
return res.send({
error: false,
data: 0,
message: "no shop list.",
});
}
return res.send({
error: false,
data: results[0],
message: "shop list.",
});
});
ประมาณนี้ครับพี่
ประวัติการแก้ไข 2021-05-11 12:15:21 2021-05-11 12:32:52
Date :
2021-05-11 12:14:39
By :
joestar
เอา tools tag javascript ครอบ โค๊ดหน่อยครับ จะได้อ่านง่าย แยก file ด้วยนะ เผื่อว่างๆ ก๊อปโค๊ดไปลอง
Code (JavaScript)
const express = require("express");
const app = express();
const cors = require("cors");
const config = require("./config");
const shop = require("./api/shop");
const staff = require("./api/staff");
const multer = require("multer");
const socket = require("./socket");
// const port = 80;
const port = process.env.port || 9990;
app.use(
express.urlencoded({
parameterLimit: 100000,
limit: "50mb",
type: "application/json",
extended: true,
}));
app.use(express.json());
app.set("json spaces", 2);
app.use(
cors({
credentials: true,
origin: "http://localhost:3000", // URL of the react (Frontend) app
})
);
app.use("/api/shop", shop);
app.use("/api/staff", staff);
// default route
app.get("/", (req, res) => {
return res.send({
error: false,
message: "default root path",
});
});
app.use((err, req, res, next) => {
res.send(err.message);
});
console.log("before socket run");
app.listen(port, () => {
const datetime = new Date();
const message = `Server runnning on Port:- ${port} Started at :- ${datetime}`;
console.log(message);
});
/////
shop.js
Code (JavaScript)
const express = require("express");
const route = express.Router();
const config = require("../config.js");
const proc = require("../procedures");
route.get("/getshop/:shopcode", async (req, res, next) => {
const shopCode = req.params.shopcode;
config.query(proc.getShopList, shopCode, (error, results, fields) => {
if (error) throw error;
if (results[0].length === 0) {
return res.send({
error: false,
data: 0,
message: "no shop list.",
});
}
return res.send({
error: false,
data: results[0],
message: "shop list.",
});
});
ประวัติการแก้ไข 2021-05-11 12:24:08
Date :
2021-05-11 12:21:59
By :
Chaidhanan
ไม่ต้องไปใช้ proxy หรอก
แค่เปลี่ยน port ที่ app.listen() ง่ายกว่าไหม คือถ้ามันมีการใช้งาน กับ web server อื่นอยู่ มันมักจะชนกัน
เราใช้ api ก็ไม่จำเป็นต้องใช้ port 80 หรือ 443
อ้ออย่าลืม เปิด พอร์ต ที่ต้องการด้วยล่ะ
Date :
2021-05-11 13:21:36
By :
Chaidhanan
เปิด filewall แล้ว
แล้ว เดิมมี nodejs run อยู่ก่อนแล้วหรือยัง
ก่อนที่จะ เอา api ไปลง
ถ้ามีแล้ว ก็ให้ สร้าง nodejs service อีกตัว ไม่ต้องพึ่งของเก่า
เริ่ม ตั้งแต่ ใช้ npm สร้าง project ใหม่
แล้ว ก๊อป เอา api ไปไว้ใน project นั้น
ืnodejs มัน run ได้หลาย project พร้อมๆ กัน แค่พอร์ต ต่างกัน และ เปิด firewall ให้ port เหล่านั้น
Date :
2021-05-11 13:44:11
By :
Chaidhanan
Load balance : Server 00