Có cách nào để nhận đường dẫn tệp hiện tại, như trong requirejs không?Đường dẫn tệp hiện tại trong webpack
define(['module'], function (module) {
console.log(module.uri)
});
Có cách nào để nhận đường dẫn tệp hiện tại, như trong requirejs không?Đường dẫn tệp hiện tại trong webpack
define(['module'], function (module) {
console.log(module.uri)
});
Đúng là một: __filename
.
Nhưng theo webpack mặc định không rò rỉ thông tin đường dẫn và bạn cần đặt cờ cấu hình để lấy tên tệp thực thay vì mô hình ("/index.js"
).
// /home/project/webpack.config.js
module.exports = {
context: __dirname,
node: {
__filename: true
}
}
hơn bạn có thể sử dụng __filename
lấy tên tập tin hiện hành liên quan đến các tùy chọn context
:
// in /home/project/dir/file.js
console.log(__filename);
// => logs "dir/file.js"
Các tên tập tin duy nhất được nhúng vào module nơi __filename
được sử dụng. Vì vậy, bạn không phải sợ rằng đường dẫn bị rò rỉ từ các mô-đun khác.
Để có được tên tập tin một tên dir tôi thêm này để các gói web cấu hình
node : {
__filename: true,
__dirname: true,
},
thiết lập ngữ cảnh để __dirname sai lầm cấu hình gói web của tôi kể từ khi tôi đã webpackconfig của tôi không được đặt trong thư mục gốc nhưng các đường dẫn được thiết lập theo cách đó
Vẫn có liên quan trong năm 2017: Tôi không thể làm việc này khi mục tiêu là 'umd', vì vậy nếu bạn đang tìm kiếm câu trả lời để nhận' __dirname' và '__filename' để làm việc với webpack cho 'umd' build, câu trả lời này có lẽ sẽ không giúp bạn. –