Webpack:将当前条目名称传递给js?

its*_*ers 11 javascript npm webpack

例如,我们有多个条目:

entry: {
    main:  "./app/entry.js",
    view:  "./app/entry.js",
},
Run Code Online (Sandbox Code Playgroud)

如何将当前名称(主要或视图)传递给entry.js?

理想的解决方案将是这样的:

new webpack.DefinePlugin({
    '_ENTRY_': '[name]'
}),
Run Code Online (Sandbox Code Playgroud)

像其他配置选项可以有,但当然DefinePlugin不知道如何处理这个...

Pio*_*ski 1

如果您在 Node.js 中运行代码,则可以使用__filename__dirname

Webpack 可以在非 Node.js 环境中模拟它们。
请参阅Webpack节点配置

node: {
  __filename: true,
  __dirname: true
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您可以使用__filename__dirname全局变量,就像在 Node.js 环境中通常所做的那样。

if(__filename.indexOf('index.js') != -1) {
    // Code here
}
Run Code Online (Sandbox Code Playgroud)

节点.__文件名

默认值: “模拟”

选项:

  • true:输入文件相对于上下文选项的文件名。

  • false:常规 Node.js __filename 行为。在 Node.js 环境中运行时输出文件的文件名。

  • “mock”:固定值“index.js”。