【问题标题】:Webpack: pass current entry name into js?Webpack:将当前条目名称传递给js?
【发布时间】:2016-12-17 05:15:55
【问题描述】:

例如我们有多个条目:

entry: {
    main:  "./app/entry.js",
    view:  "./app/entry.js",
},

如何将当前名称(main 或 view)传递给 entry.js?

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

new webpack.DefinePlugin({
    '_ENTRY_': '[name]'
}),

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

【问题讨论】:

  • 是你要使用的文件的输出吗?
  • 我想做的是在entry.js里面写: if (ENTRY == 'main') {do something;} else {do other thing;}跨度>
  • 我更新了我的答案,请阅读并告诉我是否有帮助..

标签: javascript npm webpack


【解决方案1】:

如果您在 Node.js 中运行代码,那么您可以使用 __filename 和__dirname。

Webpack 可以为非 Node.js 环境模拟它们。
请看Webpack Node configuration

node: {
  __filename: true,
  __dirname: true
}

在这种情况下,您可以像在 Node.js 环境中一样使用 __filename 和 __dirname 全局变量。

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

节点.__文件名

默认值: “模拟”

选项:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-04-19
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多