Hỏi về static file trong express
-
Các bác cho em hỏi. em sử dụng static file trong express
em có thư mục public/plugin/boostrap/....
nếu em sử dụng với domain là abc.com/abc thì load được file
nhưng em call abc.com/abc/def thì lại không load được. có cách nào khai báo 1 phát dùng nhiều path domain không ạ. em cám ơn
-
Các bác cho em hỏi. em sử dụng static file trong express
em có thư mục public/plugin/boostrap/....Mình không hiểu 2 cái domain
abc.com/abc
vàabc.com/abc/def
có quan hệ với thư mục public của bạn như thế nào ?
-
như là em có task và task/add đấy ạ.
-
@Vũ
khi em chạy task thì nó kiểu domain/task/css
và vào task/add thì nó lại gọi theo kiểu /task/add/css
-
@Nguyễn-Lê-Trung Nếu như vậy bạn sử dụng
static middleware
bình thường, bằng cách khai báo nhiều lần:var router = express.Router(); router.use('/task', express.static(path.join(process.cwd(), 'public'))); router.use('/task/add', express.static(path.join(process.cwd(), 'public')));
-
@Vũ Có cách nào khai báo 1 lần không ạ. ví dụ sau này thì cứ mỗi domain path như thế này mình lại phải khai báo ạ
-
@Nguyễn-Lê-Trung bạn làm 1 file cấu hình ra ngoài. Ví dụ:
var staticPaths = require('./config.json').staticPaths || ['assets']; for (let path of staticPaths) { router.use(path, express.static(path.join(process.cwd(), 'public'))); }
-
@Vũ
thanks bác. để em thử xem thế nào ạ
-
@Nguyễn-Lê-trung thử đoạn code sau xem
app.use(express.static(path.join(__dirname, 'public')));