首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >因果报应webpack多次输出"webpack:等待捆绑完成“

因果报应webpack多次输出"webpack:等待捆绑完成“
EN

Stack Overflow用户
提问于 2017-01-27 22:27:14
回答 3查看 13.4K关注 0票数 21

在最近发布webpack 1.14.0 /业力1.4.0 /业力- webpack 2.2.0之后,当业力开始构建时,我看到了很多这样的信息。

代码语言:javascript
复制
webpack: wait until bundle finished:

有时,我看到多达6-8个,他们似乎正在使建造更长。例如,这是:

代码语言:javascript
复制
Hash: 255562a2a96fffe34fae
Version: webpack 1.14.0
Time: 408ms
webpack: bundle is now VALID.
webpack: bundle is now INVALID.
webpack: wait until bundle finished:
webpack: wait until bundle finished:
webpack: wait until bundle finished:
webpack: wait until bundle finished:
webpack: wait until bundle finished:
webpack: wait until bundle finished:
ts-loader: Using typescript@2.1.5 and C:\git\project\tsconfig.json

到目前为止,它还没有停止我的构建,但至少现在似乎有些东西正在锁定,即使是暂时的。还有人看到这个吗?我想清理一下,如果这是在我的一端,但正如我说,我的配置文件没有改变,但这已经出现在最近的洪水从业力/webpack系列产品在过去3周的释放。

我的问题是:

  1. 这个信息是什么意思?
  2. 如何解决造成这些问题的问题?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-15 07:04:20

将每一个规范文件作为单独的入口点,并为每个文件生成一个分开的webpack包。因此,您的控制台日志很好,没有指出任何问题。

如果您想摆脱多个webpack: wait until bundle finished:输出,可以在业力配置中禁用webpack开发中间件信息日志记录:

代码语言:javascript
复制
...

webpackMiddleware: {
  noInfo: true
},

...

了解更多关于webpackMiddleware包自述文件中的webpack开发中间件部分的可能选项的完整列表。

票数 19
EN

Stack Overflow用户

发布于 2017-03-13 08:17:22

好吧。和这个一起工作看起来我找到了一个解决方案。

在我的例子中,问题在多个文件中,包括在Karma.conf中。

在我有这个文件配置之前

代码语言:javascript
复制
files: [
            src/**/*.spec.js'
        ],
        preprocessors: {
            'src/**/*.spec.js': ['webpack']
        },

看起来因果报应对包含的每一个文件都启动webpack编译,它需要一个内存(在测试之前保存一个已编译的文件)。这就是为什么我们有内存泄漏和资源/时间问题。

因此,我通过这些更改解决了这个问题:我在我的应用程序根目录中创建了一个testEntry文件(我希望Karma只使用它,它只会触发webpack编译一次,这个文件),它的工作方式与我预期的完全一样:)

代码语言:javascript
复制
files: [
            'src/__testsEntry__.spec.js'
        ],

在这个文件中,我需要通过这个结构进行所有的测试。

代码语言:javascript
复制
const req = require.context("./", true, /.+.spec.js/igm);
req.keys().forEach(function(key) {
    req(key);
});

这解决了我的问题,现在我只有一个webpack编译一个文件。提高了工程测试过程和pc机资源的速度。

希望能帮上忙。诚挚的问候。

有一个屏幕截图和一个报告,显示每个测试套件通过业力规范-报告显示为一个不同的组。

这里只演示了测试用例中的一个捆绑过程。

更新2:在这个解决方案中,在测试失败的情况下,调试存在一些问题,因为我们将在报告中看到testEntry文件的行号(而不是原始文件)。因此,在我们找到其他可能的解决方案之前,我们可以使用测试套件的一些名称约定来提高对测试失败文件的理解。

票数 12
EN

Stack Overflow用户

发布于 2018-11-29 16:00:37

在检查webpack开发中间件的选择之后,我发现您可以通过在karma.conf.js中指定以下内容(就在记者部分下面)来消除“wdm”:等待包完成: noop“输出:

代码语言:javascript
复制
webpackMiddleware: {
  logLevel: 'error'
}

经以下测试:

  • karma 3.1.1
  • 因果报应-webpack 3.0.5
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41904051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档