Tôi mới làm quen với Nodejs. Tôi ở đây tuyến đường
Có một app.js và một index.js trong thư mục. Tôi có một cái ứng dụng.sử dụng(multer....)
. Tôi cũng đã định nghĩa ứng dụng.post('báo cáo lọc')
, thực chất là tải nội dung tập tin lên máy chủ.
Tôi có logic kinh doanh để thực hiện và đã tuyến đường/index.js
Tôi dự định cấu hình định tuyến trong tệp này. /báo cáo-lọc
lộ trình. Xin hãy giúp tôi hiểu tôi đã sai ở đâu. Tôi cần phải sử dụng người làm việc
Tải tệp lên và chạy logic nghiệp vụ trong tệp index.js cùng lúc.
Mã nguồn app.js:
var express = yêu cầu('express');
var path = yêu cầu('đường dẫn');
var favicon = require('favicon-tĩnh');
var logger = yêu cầu('morgan');
var cookieParser = yêu cầu('cookie-parser');
var bodyParser = yêu cầu('body-parser');
var _ = require('gạch dưới');
var cache = yêu cầu('js-cache');
var multer = yêu cầu('multer');
var route = yêu cầu('./routes/index');
var users = require('./routes/users');
var ứng dụng = express();
ứng dụng.all('*', hàm(req, res, tiếp theo) {
res.header("Kiểm soát truy cập-Cho phép-Nguồn gốc", "*");
res.header("Kiểm soát-Cho phép-Tiêu đề-Truy cập", "Yêu cầu-X-Với");
Kế tiếp();
});
//xem thiết lập động cơ
ứng dụng. set('lượt xem', đường dẫn. join(__tên thư mục, 'lượt xem'));
app.set('công cụ xem', 'jade');
ứng dụng.use(favicon());
ứng dụng.use(logger('dev'));
ứng dụng. sử dụng(bodyParser.json());
ứng dụng.use(bodyParser.urlencoded());
ứng dụng. sử dụng(cookieParser());
ứng dụng.use(express.static(path.join(__dirname, 'public')));
ứng dụng.use('/', tuyến đường);
ứng dụng.use('/người dùng', người dùng);
var done = false;
ứng dụng.use(multer({ đích: './uploads/',
đổi tên: hàm (tên trường, tên tệp) {
trả về filename+Date.now();
},
onFileUploadStart: hàm (tệp) {
console.log(file.originalname + ' đang bắt đầu ...')
},
onFileUploadComplete: hàm (tệp) {
console.log(file.fieldname + ' đã tải lên ' + file.path)
xong=đúng;
}
}));
// bắt 404 và chuyển tiếp đến trình xử lý lỗi
ứng dụng.sử dụng(hàm(req, res, tiếp theo) {
var err = new Error('Không tìm thấy');
lỗi.trạng thái = 404;
tiếp theo(err);
});
ứng dụng.post('báo cáo-lọc',hàm(yêu cầu,res){
console.log('Đang xử lý các báo cáo đã lọc....');
nếu(thực hiện==đúng){
console.log(req.files);
res.end("Đã tải tập tin lên.");
}
});
/// trình xử lý lỗi
// trình xử lý lỗi phát triển
// sẽ in stacktrace
nếu (app.get('env') === 'phát triển') {
ứng dụng.use(hàm(err, req, res, tiếp theo) {
res.status(lỗi.status || 500);
res.render('lỗi', {
tin nhắn: err.message,
lỗi: lỗi
});
});
}
// trình xử lý lỗi sản xuất
// không có dấu vết ngăn xếp nào bị rò rỉ cho người dùng
ứng dụng.use(hàm(err, req, res, tiếp theo) {
res.status(lỗi.status || 500);
res.render('lỗi', {
tin nhắn: err.message,
lỗi: {}
});
});
module.exports = ứng dụng;
var express = yêu cầu('express');
var request = require("yêu cầu");
var _ = require('gạch dưới');
var jscache = yêu cầu('js-cache');
var schedule = require('node-schedule');
var tên tệp;
Trong tệp index.js
var router = express.Router();
router.post('/báo cáo-lọc', hàm(req, res) {
console.log('Đã vào bên trong bộ định tuyến Node js.. Bây giờ.. tất cả tùy thuộc vào tôi để định dạng dữ liệu....');
// console.log(req.files);
// console.log('Đã vào url ứng dụng báo cáo bộ lọc >>>>');
// nếu(thực hiện==đúng){
// console.log(req.files);
// console.log('Đã tải tệp lên thành công ....');
//res.end("Đã tải tập tin lên.");
// }
});
Cấu trúc gói của tôi như sau:
app.js bin node_modules package.json public route views
package.json của tôi là
{
"tên": "nodetest1",
"phiên bản": "0.0.1",
"riêng tư": đúng,
"tập lệnh": {
"bắt đầu": "nút ./bin/www"
},
"phụ thuộc": {
"thể hiện": "~4.2.0",
"static-favicon": "~1.0.0",
"morgan": "~1.0.0",
"cookie-parser": "~1.0.1",
"body-parser": "~1.0.0",
"gỡ lỗi": "~0.7.4",
"bộ lọc": "~0.1.6",
"ngọc bích": "~1.3.0"
}
}
Cảm ơn trước, Predip
Tôi là một lập trình viên xuất sắc, rất giỏi!