首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致webpack递归地包含每个文件?

什么会导致webpack递归地包含每个文件?
EN

Stack Overflow用户
提问于 2017-01-06 00:20:01
回答 1查看 74关注 0票数 1

我有一个基于AMD的项目。当我和webpack一起构建它时,由于某种原因,webpack开始加载模块,并最终通过通配符/全局递归加载。我在努力防止这种情况发生。

例如,来自webpack的输出

代码语言:javascript
复制
   [0] ./fixme.js 1.9 kB {0} [built]
   [1] ./host/CaptureContext.js 21.1 kB {1} [built] [1 error]
   [2] ./shared/Settings.js 1.2 kB {1} [built]
   [3] ./shared/Extensions.js 1.87 kB {1} [built]
   [4] ./shared/EventSource.js 1.61 kB {1} [built]
   [5] ./shared/Hacks.js 215 bytes {1} [built]
   [6] ./shared/Info.js 122 kB {1} [built]
   [7] ./shared/Utilities.js 8.47 kB {1} [built]
   [8] ./shared/Base.js 2.38 kB {1} [built]
   [9] ./host/Frame.js 16.1 kB {1} [built]
  [10] ./host/StateSnapshot.js 13.1 kB {1} [built]
  [11] ./host/Notifier.js 1.34 kB {1} [built]
  [12] ./host/ResourceCache.js 7.36 kB {1} [built] [1 error]
  [13] ./host/resources/Program.js 10.3 kB {1} [built]
  [14] ./host/Resource.js 5.43 kB {1} [built]
  [15] ./host/ResourceVersion.js 1.75 kB {1} [built]
  [16] ./host/resources/Buffer.js 11.7 kB {1} [built]
  [17] ./host/resources/Framebuffer.js 4.53 kB {1} [built]
  [18] ./host/resources/Renderbuffer.js 2.88 kB {1} [built]
  [19] ./host/resources/Shader.js 2.97 kB {1} [built]
  [20] ./host/resources/Texture.js 29.5 kB {1} [built]
  [21] ./shared/GLConsts.js 31.7 kB {1} [built]
  [22] ./host/resources/VertexArrayObject.js 9.38 kB {1} [built]
  [23] ./host/resources/VertexArrayObjectOES.js 2.12 kB {1} [built]
  [24] ./host/Statistics.js 4.16 kB {1} [built]
  [25] ./host/HostUI.js 10.1 kB {1} [built]
  [26] ./CSSLoader.js 2.33 kB {1} [built]
  [27] . ^\.\/.*$ 128 kB {1} [built] [761 warnings]
  [28] ./buildextensions.sh 0 bytes [optional] [built] [failed]
  [29] ./dependencies/require.js 86.6 kB {1} [optional] [built]
  [30] ./dependencies/reset-context.css 0 bytes [optional] [built] [failed]
  [31] ./dependencies/stacktrace.js 14.8 kB {1} [optional] [built]
  [32] ./dependencies/syntaxhighlighter_3.0.83/LGPL-LICENSE 0 bytes [optional] [built] [failed]
  [33] ./dependencies/syntaxhighlighter_3.0.83/MIT-LICENSE 0 bytes [optional] [built] [failed]
  [34] ./dependencies/syntaxhighlighter_3.0.83/shBrushGLSL.js 2.91 kB {1} [optional] [built] 

第27行

代码语言:javascript
复制
  [27] . ^\.\/.*$ 128 kB {1} [built] [761 warnings]

这是什么原因造成的?我没有任何通过通配符/glob加载模块的引用。这个程序在没有使用require.js和普通AMD的情况下运行良好。

./fixme.js看起来像这样

代码语言:javascript
复制
require([
     './host/CaptureContext',
     './host/HostUI',
     './CSSLoader',
  ], function(
      captureContext,
      HostUI,
      cssLoader) {
});

如果我注释掉第2行,如下所示

代码语言:javascript
复制
require([
     './host/CaptureContext',
//     './host/HostUI',
//     './CSSLoader',
  ], function(
      captureContext,
      HostUI,
      cssLoader) {
});

然后,webpack只包含大约24个模块,并且不会疯狂地尝试递归地包含整个树。

当然,我会开始从模块中删除一些东西,试图缩小问题的范围,但我的第一次尝试没有任何运气,所以我正在寻找导致这一问题的原因

EN

回答 1

Stack Overflow用户

发布于 2017-01-06 00:44:06

问题很明显是其中一个文件中包含了这个。

代码语言:javascript
复制
var url = require.toUrl(filename);

Webpack看到了这一行,显然认为所有文件都是需要的。注释掉这行就是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41489793

复制
相关文章

相似问题

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