Bài tập về nhà làm:URL trong Node.js
How do I get started with Node.js [closed]
chút lịch sử: Tôi muốn thử và viết khuôn khổ của riêng tôi nhưng tôi đang chạy vào một số rắc rối , rất có thể là do không hiểu nó đầy đủ.
Những gì tôi muốn đạt được là một cú pháp trông như thế này:
var app = require('./app'); //this part is understood and it works in my current code.
app.get('/someUrl', function(){ //do stuff here });
app.post('/someOtherUrl', function(){ //do stuff here });
tôi biết Express-framework có cú pháp này tương tự nhưng đọc mã nguồn của họ vẫn vượt quá tầm hiểu tôi.
Đây có thể là một nhiệm vụ tầm thường để đạt được nhưng tôi chưa thể tạo ra nó.
Cố gắng require('./app');
trong một tệp sâu hơn trong ứng dụng tạo ra đối tượng không xác định, vì vậy tôi đoán rằng máy chủ là đối tượng đơn lẻ.
Vì vậy, tôi đã thử những gì?
Mã hiện tại của tôi trông như thế này, và bằng cách nào đó tôi cảm thấy như đây là con đường để đi, nhưng tôi không thể làm điều đó như thế này.
Tôi bỏ qua tất cả các tuyên bố require();
để giữ cho nó dễ đọc hơn.
server.js:
var app = module.exports = {
preProcess: function onRequest(request, response){
processor.preRequest(request); //this object adds methods on the request object
var path = urllib.parse(request.url).pathname;
router.route(urls, path, request, response);
},
createServer: function() {
console.log("Server start up done.");
return this.server = http.createServer(this.preProcess);
}
};
exports.app = app;
Tại thời điểm viết bài Tôi đang thử nghiệm với mở rộng đối tượng này với một phương pháp get()
.
index.js:
var app = require('./server');
app.createServer().listen('1337');
bit router.route()
cơ bản gửi yêu cầu trở đi vào các ứng dụng và bên trong router.js-file tôi làm một số phép thuật và định tuyến các yêu cầu trở đi đến một chức năng mà các bản đồ (cho đến nay) đến/urlThatWasRequested
Đây là hành vi tôi muốn bỏ lại phía sau. Tôi biết điều này có thể là một thứ tự khá cao nhưng tất cả mã của tôi có thể dễ dàng bị loại bỏ và tôi không sợ viết lại toàn bộ codebase vì đây là dự án của riêng tôi.
Tôi hy vọng điều này là đủ trong việc giải thích câu hỏi của tôi nếu không, hãy nói những gì tôi nên thêm để làm cho điều này rõ ràng hơn một chút.
Cảm ơn trước!
Cảm ơn câu trả lời! :) Câu hỏi của tôi là "Cách tạo cú pháp .get(), .post()". Tôi có thể phải thay đổi câu hỏi. Lý do tại sao tôi muốn kiềm chế không kiểm tra để có được/đăng trong các chức năng chính nó chỉ là vì sở thích trong dự án này. Cám ơn đã chỉ tôi hướng đi đúng! :) Ngoài ra tôi có một tập tin xử lý, nơi tôi thêm rất nhiều xử lý mà bản đồ để chức năng của cùng một tên tôi không chắc chắn nếu điều đó đã được thực hiện rõ ràng. –
@lưu lượng tôi thấy. Tôi đã cập nhật câu trả lời! – freakish
điều này có thể là một câu hỏi hoàn toàn mang tính định kỳ nhưng thuộc tính trình xử lý không được instatiated, nó chỉ là không xác định. –