问题标签 [webpack-plugin]

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 投票
1 回答
1926 浏览

webpack - 运行 webpack 升级到 babel7 webpack3

请帮助我理解为什么 bable/runtime/helpers 无法解析 interopRequireDefault。我刚刚升级了 babel,试图将我的依赖项显式移动到 babel 7.0.0。据我了解,如果我的 babelrc 文件中提供的“插件”没有检测到浏览器支持最新的 babel 使用。

错误是:模块构建失败:TypeError:无法读取 null 的属性“绑定”

我的 babel-loader 肯定是在调用文件并启动编译。我是否需要指定其他一些配置或遍历过程?

开发依赖

babelrc

0 投票
1 回答
5624 浏览

webpack - 用于在编译前后修改文件的 Webpack 插件

我正在尝试构建一个 webpack 插件,它做一件简单的事情,在 webpack 编译所有内容之前替换文件中的字符串,并在编译后将该字符串放回原处。

配置如下所示:

基本上我不想让 webpack 看到myString,所以我用一些唯一的字符串替换它,然后myString在 webpack 编译完所有内容后放回去。此答案中命名的插件/加载器不适合我的用例。

我认为不需要加载器,因为我知道必须更改哪些文件,所以我不需要分析每个文件。

我已经阅读了有关插件的文档,但我仍然有点迷茫,并且可能正在做一个非常低效的插件。也许有插件经验的人可以指导我。

0 投票
1 回答
74 浏览

javascript - 使用 Webpack 2 中的 ProvidePlugin 加载的 jQuery 在路由更改后不起作用

我在 Angular4 中工作,我正在使用 Webpack 设置来构建应用程序。我想在我的项目中使用 jQuery,所以我用谷歌搜索它并找到了ProviderPluginWebpack 提供的用于全局加载模块的内容。

但是,我面临的问题有点奇怪;第一次加载页面时,页面工作正常,与 jQuery 关联的所有代码都工作正常,但是当我更改页面或路由时,jQuery 失去其功能,后续页面无法按预期工作。我错过了什么吗,我用于插件的代码是标准的

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })

我也在寻找其他解决方案,如果还有其他方法可以做,请提及这将是一个很大的帮助。

太感谢了。

0 投票
1 回答
854 浏览

webpack - Webpack:在插件中发出虚拟模块

我正在编写一个 webpack 插件和加载器,我想创建一个通过我的插件生成的“动态”模块。

基本上,我希望我的加载器向动态模块发出导入,如下所示:

插件应该生成"./the-dynamic-module",理想情况下,每次动态模块更改时都应该重新构建加载器。

有没有办法做到这一点?

有一个生成虚拟模块的插件,但它们是静态的。我想在编译期间生成一个动态的。

任何帮助表示赞赏!干杯。

0 投票
0 回答
257 浏览

webpack - require、require.resolve、webpack.ProvidePlugin 和 webpack.DefinePlugin 有什么区别

我正在使用 webpack,angularjs 做一个项目。在 webpack.config.js 中,我有时看到他们使用:

app.js中

webpack.config.js 中

webpack.config.js 中

webpack.config.js 中

我不明白他们有什么区别。我什么时候应该使用require, require.resolve, webpack.DefinePlugin,webpack.ProvidePlugin

谁能帮帮我?

谢谢

0 投票
0 回答
158 浏览

promise - 无法使用蓝鸟 Promise IE11 webpack

我正在使用 webpack、angularjs 和 bluebird 制作一个 web 应用程序。我把它放在我的代码中:

但是在开发者控制台中。Promise 不会显示为全局变量。当我尝试使用它时,控制台说:'Promise is undefined'

在此处输入图像描述

任何人都可以帮助我吗?谢谢,

0 投票
1 回答
280 浏览

webpack - 使用插件更改 Webpack 入口点

我正在编写 Webpack 插件,我需要做同样的技巧才能在应用程序之前HotModuleReplacementPlugin注入webpack-hot-client

它将捆绑包的入口点更改为需要./node_modules/webpack-hot-client/client/index.js然后加载原始入口应用程序的一些自定义函数。

捆绑包中的片段

我找不到执行此操作的代码,任何指针?

0 投票
2 回答
2033 浏览

javascript - Webpack 插件:如何将模块动态添加到主块?

我正在开发一个 Webpack 插件,它基本上css在块内查找资产,当它找到这样的资产时,在其上应用一些postCSS返回 2 个输出的插件,一个应该继续使用提取Extract-Text-Plugin,另一个输出应该成为一个的在运行时将其注入头部的块中的模块。

我无法实现的唯一部分是在现有块中创建新模块的部分。有一些指示/想法?

我设法从中创建了一个新块,但没有 webpack 包装器,这意味着我无法支持该 css 的 HMR 并延迟加载它。

0 投票
0 回答
402 浏览

require - 在使用 Webpack 捆绑咖啡脚本和骨干应用程序时无法静态分析“require(…,…)”

我正在尝试在骨干/咖啡脚本项目中从 grunt 迁移到 webpack。捆绑时,我收到错误无法静态分析 'require(..., ...)' 以获取在运行时已知依赖关系的 require 语句。为了处理上述问题,我使用了 webpack ContextReplacementPlugin。

下面是代码片段-

我的 webpack.config.js 具有以下配置:

0 投票
1 回答
667 浏览

webpack - 如何正确使用 webpack 的 ReplaceSource 优化部分模块?

我注意到在我的构建中跨模块存在一些重复的代码。我想通过编写一个 webpack 插件来优化我的 JavaScript,以查找 X 代码的实例并将其替换为简化版本的 Y 代码。

我已经制作了一个简单的 webpack 插件,看起来很接近,但它并没有完全达到我想要的效果。没有太多关于正确使用 webpack 之类的文档ReplaceSource,甚至没有多少关于这种操作的正确生命周期的文档。所以我这里的内容主要是通过阅读 webpack 源代码和在 GitHub 搜索中拼凑而成的。

这似乎适用于一些简单的情况,但这里有些地方不正确,它会导致代码奇怪地混乱,然后导致我们的 minifier 像这样抱怨:

这让我相信我没有ReplaceSource正确使用。

我还注意到出现了一些类似下面的代码,这看起来很奇怪:

我什至不确定这是否是正确的方法,并对替代解决方案的建议持开放态度。