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