簡體   English   中英

如何使用webpack獲取沒有路徑和擴展名的當前文件名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM