问题标签 [webpack-2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4669 浏览

javascript - 如何在没有 webpackJsonp 的情况下生成 js 文件

我希望 webpack 处理 js 文件(minify/uglify)但不将其格式化为模块 - 所以它只是包含初始代码(minified/uglified)的原始 js 文件,没有任何 webpackJsonp。在浏览器中加载 webpack 之前,我需要这样一个文件来加载它,以检测是否加载了自定义字体。如果我使用 webpack 模块来执行此操作,那么我的包会在字体文件加载后加载。

0 投票
4 回答
7710 浏览

javascript - Webpack 2 - 代码拆分顶级依赖项

最终编辑

tl;博士的解决方案是这是不可能的。尽管下面的最佳答案确实有一些很好的信息。


考虑下面的代码,来自contacts.js. System.import这是一个动态加载的模块,在代码中的其他地方按需加载。

如果SharedUtil1也用于其他动态加载的模块System.import我将如何从所有这些模块中SharedUtility1 排除,并且仅在第一次需要时按需加载?

顶级的System.import不起作用SharedUtil1,因为我的导出依赖于它:导出只能放在模块代码的顶级,而不是任何类型的回调中。

这对 Webpack 可行吗?我正在使用 2.0.7 测试版。


更新 1

我认为捆绑加载器是我想要的,但不,它会将您导入的模块变成一个不同的函数,一旦异步加载完成,您就可以通过回调调用该函数以访问实际模块。这意味着您不能透明地使模块 X 异步加载而不对代码进行重大更改,更不用说您回到最初描述的问题,如果您的顶级模块依赖于 now-asynchronously加载的依赖项,没有办法导出它,因为导出必须在顶层。

Webpack 中是否没有办法表示依赖项 X 将按需加载(如果需要),并且有任何导入的模块将其导入以透明地等待导入过程?我认为这个用例对于任何远程大型应用程序来说都是必要的,所以我不得不认为我只是错过了一些东西。

更新 2

根据彼得的回答,我试图让重复数据删除工作,因为他提到的 commonChunk 插件涉及在端点之间共享代码,并且因为require.ensure将加载的代码放入回调中,从而阻止您使用 ES6export依赖它的任何代码。

至于重复数据删除,contacts.js并且tasks.js都像这样加载相同的 sharedUtil

import SharedUtil1 from '../../sharedUtilities/sharedUtility1';

我尝试将 webpack 运行为

webpack --optimize-dedupe

并且还通过添加

到 webpack.config。在这两种情况下,虽然 sharedUtil 代码仍然放置在联系人和任务包中。

0 投票
0 回答
317 浏览

webpack-hmr - Webpack 2 的第二遍构建变得越来越慢

我正在使用 HMR 试用 webpack 2,但遇到了一个奇怪的问题。每次修改后,增量更新都会很快完成,然后Compilation needs an additional pass and will compile again.会显示消息。之后,构建完成需要几秒钟。

问题是每次更改后,构建(第二次传递)持续大约半秒,并且在一段时间后变得无法使用。

我正在使用带有样式、css、sass 和 babel 加载器的 webpack 2.1.0 beta 4。

我将不胜感激有关如何使构建时间保持不变的任何想法。

0 投票
2 回答
2945 浏览

function - 在 Webpack 2 中传递环境变量

有人可以帮我弄清楚如何在 Webpack 2 配置中传递环境变量吗?尝试通过使用 CONFIG 函数并使用./node_modules/.bin/webpack --env.ENV development设置它们来传递环境变量。使用options.ENV等时,我得到一个TypeError: Cannot read property 'ENV' of undefined.

0 投票
6 回答
219238 浏览

javascript - 使用 webpack 定义全局变量

是否可以使用 webpack 定义一个全局变量以产生如下结果:

我看到的所有示例都使用外部文件require("imports?$=jquery!./file.js")

0 投票
1 回答
1550 浏览

javascript - 是否可以让 webpacks System.import 使用 ajax(用于进度事件)?

所以我刚刚更新到 webpack 2 并且有了我的第一个工作设置,其中 webpack 通过查看 System.import 调用自动创建块。好甜!

但是,我使用 ajax 调用加载初始块,以便在加载时显示进度

所以我的问题是,我能否以某种方式覆盖或更改 System.import 的功能,以便它使用我可以监听事件的 ajax 请求,而不是加载带有<script>标签的块?

0 投票
2 回答
220 浏览

reactjs - 如何在编译时要求名称未知的模块?

我有一个加载应用程序骨架的 React Web 应用程序。在浏览器中加载骨架后,它会通过 ajax 从服务器获取模块名称列表。然后,它需要从服务器获取这些模块名称,并将它们作为 React 组件加载到骨架中。

我从 Webpack 1 开始,在加载动态模块时遇到了麻烦,因为 require.ensure() 需要在构建时找出名称。

我搬到了加载动态模块工作的 JSPM,但在项目中产生了其他问题。

我想回到 Webpack 但我不知道如何实现动态组件包加载。

也许使用Webpack2?

有任何想法吗?

0 投票
3 回答
18346 浏览

javascript - Webpack 2:无法解析模块

我有一个这样的项目:

这是 webpack 配置文件:

在 app.js 中,我有:

这在 webpack 1.x 中按预期工作,但 myModule 模块无法通过 webpack 2 解析,我收到“找不到模块:无法解析 ... \app 中的‘模块’”。

似乎 modulesDirectories 条目被忽略了,基本 URL 对应于条目的文件夹。

我该怎么做才能使模块正确解析 webpack 2 ?

0 投票
1 回答
793 浏览

javascript - webpack 2 lazy loading

I have dynamic import modules with common dependency, and i need common.js with g.js (in this example), but it does not work, i have empty common. What is wrong? I want common with g.js

index.js

t.js

d.js

webpack.config.js

0 投票
0 回答
860 浏览

reactjs - 反应工具箱和 Webpack 2

我正在构建一个基于https://github.com/ctrlplusb/react-universally的反应应用程序,它使用 Webpack 2。

对于我的 UI 组件,我想使用http://react-toolbox.com

我在另一个项目中使用 Webpack 1 为 react-toolbox 设置了 webpack 设置。不知何故,类似的配置不再起作用:

我当前的 webpack 配置如下所示: