[英]How to get current filename without path and extension with webpack?
我可以使用__filename
獲取相對文件路徑,並且確定我可以將其拆開以獲取帶有一些 JS-fu 的基本名稱,但我想在編譯時執行此操作。
DefinePlugin
會讓我像我想要的那樣注入一些全局變量,但是 AFAICT 我不能基於當前文件擁有一個“動態”全局變量。
那么我該怎么做呢?
例如,鑒於我在文件assets/scripts/lib/components/bpm/RecordAttendancePopup.jsx
,我怎樣才能讓 webpack 注入一個常量,比如__basename
評估為"RecordAttendancePopup"
?
這是我在webpack.config.js
:
const path = require('path');
const webpack = require('webpack');
module.exports = {
plugins: [
new webpack.DefinePlugin({
__filebasename: webpack.DefinePlugin.runtimeValue(
info => JSON.stringify(path.parse(info.module.resource).name)
)
})
]
};
然后我將在我的源代碼中隨處提供__filebasename
變量。 適用於 Webpack 4 和 5。
我想除了基於https://github.com/webpack/webpack/blob/master/lib/DefinePlugin.js創建您自己的“DefinePlugin”之外別無他法來獲得您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.