【问题标题】:Webpack VSTS Extension Task: "Configuration file found but no entry configured"Webpack VSTS 扩展任务:“找到配置文件但未配置条目”
【发布时间】:2017-12-01 16:23:02
【问题描述】:

在 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

非常感谢任何建议。

更新:

我通过使用生产配置在本地运行 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 中解决。

【问题讨论】:

  • 如果您在本地机器上使用该配置文件运行 webpack 命令会产生什么结果?` node_modules\.bin\webpack --config webpack.production.config.js` 你检查它的源版本吗?建造?将 system.debug 变量设置为 true 并排队构建,然后在 OneDrive 上共享日志。
  • 感谢 starian chen-MSFT 的帮助,它在一定程度上有助于调试构建任务并找出问题所在。我和我的同事有一个解决方案,我将在下面将其描述为答案,

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


【解决方案1】:

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 任务注销了设置“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) 只会注销您的设置。所以当消息(上图中以黄色标记)logged out Configuration file found时,并不一定意味着log中绿色部分注销的配置文件就是找到的文件。 但是这个陷阱可以通过没有一个名为 webpack.config.js 的配置文件来避免

【讨论】:

    猜你喜欢
    • 2017-11-05
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多