Webpack 网页包中的当前文件路径

Webpack 网页包中的当前文件路径,webpack,Webpack,是否有任何方法可以接收当前文件路径,如在requirejs中 define(['module'], function (module) { console.log(module.uri) }); 是的,有一个: 但默认情况下,webpack不会泄漏路径信息,您需要设置一个配置标志来获取实际文件名,而不是模拟文件名(“/index.js”) ///home/project/webpack.config.js module.exports={ 上下文:_dirname, 节点:{ __文件

是否有任何方法可以接收当前文件路径,如在requirejs中

define(['module'], function (module) {
    console.log(module.uri)
});
是的,有一个:

但默认情况下,webpack不会泄漏路径信息,您需要设置一个配置标志来获取实际文件名,而不是模拟文件名(
“/index.js”

///home/project/webpack.config.js
module.exports={
上下文:_dirname,
节点:{
__文件名:true
}
}
然后,您可以使用
\u filename
获取与
上下文相关的当前文件名
选项:

//在/home/project/dir/file.js中
console.log(_文件名);
//=>日志“dir/file.js”

文件名仅嵌入到使用
\u文件名
的模块中。因此,您不必担心路径从其他模块泄漏。

要获取文件名和目录名,我将其添加到web包配置中

node : {
   __filename: true,
   __dirname: true,
},

将上下文设置为uu dirname会弄乱我的web包配置,因为我的webpackconfig没有放在根目录中,但路径是以这种方式设置的

尝试
webpack.DefinePlugin
使用
webpack.DefinePlugin.runtimeValue
。 它给出了实常量,可以在ES6
import
require()
中使用

网页包配置:

new webpack.DefinePlugin({
__名称:webpack.DefinePlugin.runtimeValue(
v=>{
const res=v.module.rawRequest.substr(2)
返回JSON.stringify(res);//字符串需要用引号括起来
}, []
)
})
//或
新的webpack.DefinePlugin(
__名称:webpack.DefinePlugin.runtimeValue(
v=>{
const res=v.module.rawRequest.substr(2)
返回`${res.substr(0,res.lastIndexOf('.')}'`
}, []
)
})
源文件:

//需要“.js”中的“.html”
const html=require(`./${{uu NAME}.html`)

在2017年仍然相关:当目标是
umd
时,我无法实现这一点,因此如果您正在寻找关于让
\uuuu dirname
\uu filename
与网页包一起构建
umd
的答案,这个答案可能对你没有帮助。这对你的表现有影响吗?或者对任何人的知识有任何其他已知的副作用吗?这样做有什么坏处吗?只是补充一下。您需要在任何时候更新Web包服务器的配置以使更新生效。这太棒了!这个特性还没有被记录下来,但它是在中添加的。我不明白这段代码与这个问题有什么关系。请再亮一点。谢谢。让我们看看report-1.0.0.js和report-1.0.0.html。现在,您可以使用require(./${uu NAME}.html)将html包含到脚本中