Webpack VSTS扩展任务:“找到配置文件但未配置条目”

时间:2017-11-24 12:51:28

标签: webpack azure-devops azure-pipelines azure-pipelines-build-task

在SO处跟进此问题: Webpack configuration file found but no entry configured 答案是导出你的webpack配置对象。

事情是......我正在导出它并得到同样的错误。

我在VSTS中使用Dealogic的Webpack VSTS任务扩展,这是错误日志:

Webpack VSTS Extension Error: No entries found

这是我的webpack配置 Webpack config file

非常感谢任何建议。

UPDATE:

我通过使用生产配置在本地运行webpack来调试生产配置(如下面的注释中所示)并发现以下内容: 结果为path mismatches when running in local(实际现有路径为 C:\ Git \ WebX \ ProjectRootFolder \ Content ... ,而不是 C:\ Git \ WebX \ Content \ .. 。)也应解释构建步骤中的错误。

所以我使用path.resolve in config file来解析条目文件的绝对路径。本地运行中的solved the errors

但是当将其推送到VSTS并运行构建时,它仍会在the same error message中解析。

1 个答案:

答案 0 :(得分:0)

Webpack模块位置“取消设置”配置位置

现在问题已经解决,问题和解决方案就是我们可以看到的:

案例:

我们有两个webpack配置文件:

  • webpack.config.json
  • webpack.production.config.json

VSTS Webpack Task setting webpack配置位置 webpack模块位置已设置。

问题的原因:

我们非常确定的是,当我们设置 webpack配置位置 webpack模块位置时,Webpack开始取消配置位置设置或(更有可能)寻找 webpack.production.config.json 而不是从我们的工作文件夹(可能来自webpack模块位置,但这不是100%肯定)。当Webpack没有找到生产配置文件时,它开始寻找webpack配置文件的默认名称(即webpack.config.js)。

由于我们将开发配置文件命名为传统的默认名称webpack.config.js,因此它找到了该文件并很高兴继续。

但是在开发中我们将webpack作为gulp插件运行,并且条目是通过gulp流提供的,这意味着我们的开发配置中没有任何显式声明的条目。

这就是为什么无论我们如何制定输入字符串,我们都会收到错误消息"Config file found but no entries..."。 Webpack Task注销了设置“ webpack.production.config.json ”,但在此之后确切地找到了开发配置文件。不幸的是,我将日志解释为webpack正在使用生产配置文件而不是这种情况。

解决方案:

我们对该问题的解决方案(以避免我们产生的混淆)是以下步骤:

  • 取消将webpack模块位置设置为空(这样webpack找到了我们的生产配置文件)
  • 使用多个配置文件时:将webpack配置文件命名为“webpack.development.config.js”和“webpack.production.config.js”(或除默认名称webpack.config.js之外的任何描述)。这会导致它失败,而不是给人的印象是找到了文件(我们预期的文件......)。

值得一提 The part of the log message (marked in green here)仅会注销您的设置。因此,当消息(上图中标记为黄色)注销配置文件时,并不一定意味着在日志的绿色部分中注销的配置文件是找到的文件。 但是,如果没有名为webpack.config.js的配置文件

,则可以避免此陷阱