问题标签 [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 回答
254 浏览

webpack - Webpack 的 `parser.hooks.callAnyMember` 没有被调用

我正在尝试为 webpack 构建一个插件,该插件遍历每个文件,分析是否t正在使用函数(用于翻译)然后获取第一个参数(应该是字符串)并将其和所有发现写入 json数组(与构建同时)。

我已经设法基于 resolverFactory 创建了一个“虚拟”依赖项,尽管我很确定以后需要更多的工作,但我陷入了一个永远不会被调用的钩子中。

第一个debugger被调用,我检查并且functionName是“t”,但第二个调试器永远不会被调用。

我的猜测是,可能是 webpack 在 babel 转译之后执行此操作,并且该函数的调用方式不同。但是,在那种情况下,我不知道该怎么办。

而且,我几乎找不到很好的文档。任何帮助是极大的赞赏!

0 投票
1 回答
177 浏览

webpack - Webpack - 在开发和生产中复制文件

我编写了一个类似于copy-webpack-plugin 的插件,但提供了一些我需要的扩展功能。本质上,它只是将文件从复制srcdist其中并对它们执行一些操作。

当我运行生产构建时它工作正常,但在我的开发构建中,因为我正在使用devServer并且所有内容都在内存中,所以这不起作用。

我该如何解决这个问题?

0 投票
1 回答
5011 浏览

javascript - 有没有办法从 webpack 获取依赖树?

我有一个大项目,其中包含不同类型的依赖项:js、scss、svg、png 等...我的 webpack 已配置并捆绑了我的代码,我对此很满意。

但我想获得我所有依赖项(包括二进制文件和所有文件格式)的某种哈希值。最重要的是:我不想在此期间构建我的代码。为此,例如,我需要所有入口点内的所有文件的数组或至少某种依赖关系树。

我尝试使用编译钩子finishModules,但它在编译后完成。还尝试了一些其他的编译器钩子,不记得到底是哪个。

我尝试编写加载程序,但默认情况下似乎只有高级文件的源代码(如入口点本身)。

我很乐意收到一些方向来解决我的问题。

0 投票
1 回答
1263 浏览

webpack - 如何在自定义 webpack 插件中访问源文件中的模块?

一个非常简单的项目:

  • 入口文件是index.js
  • 一个模块foo.js
  • index.js 进口 foo.js
  • 一个基本的webpack.config.js
  • 一个自定义插件 -HelloWorldPlugin

文件:




问题是:

是否可以{foo:'foo'}foo-module内部访问HelloWorldPlugin

0 投票
2 回答
8279 浏览

webpack - 构建时 CleanWebpackPlugin 配置失败

我尝试在 Wordpress 主题上实现 webpack 配置。我想添加 CleanWebpackPlugin 并正确安装它。

我阅读了一个教程,并在我的 webpack.config.js 上写了这样的内容:

在我完成后,我npm run build收到了这个错误:

它把我重定向到 GitHub 项目。我阅读了文档,但没有找到解决问题的方法。

有人可以帮忙吗?

0 投票
1 回答
227 浏览

webpack - 自定义 Webpack 插件:访问转换代码的钩子

在 webpack 插件中的某个加载器完成其工作后,我正在尝试获取加载器转换的文件内容。这对于另一个加载器来说通常是理想的,但我还需要访问在翻译过程结束时调用的钩子(因此选择编写插件)。我是否需要一个不同的钩子,emit以及可以访问转换后的文件内容的参数的属性是什么?

我正在使用 webpack 3,但我应该能够从 webpack 4 解决方案进行翻译。

0 投票
0 回答
454 浏览

javascript - 更改默认 Laravel Mix Minimizer/Minifier (webpack)

有没有办法改变 Laravel Mix 使用的默认缩小器?

默认情况下,它使用“Terser”(Webpack 默认),但我希望它改为使用 Closure Compiler(参见此处)。

我尝试了各种事情,但还没有运气。这是我最近失败的尝试:

如果可能的话,我想专门使用webpack.mix.js配置来实现这一点,即我想避免覆盖 Laravel 混合配置(这可能是不可能的)

0 投票
5 回答
7466 浏览

webpack - 为什么我的 Webpack-cleanup-plugin 会删除我的排除文件?

背景:一个简单的一页react app + redux + express(为了上传到heroku)。
我已经在公共文件夹中有 index.html 和 images 文件夹。我想运行 webpack 来生成我在 index.html 中使用的 styles.css 和 bundle.js。我想在每次运行构建时使用 webpack-clean-up-plugin 删除额外的先前文件,但我不希望这会影响 index.html 和 images 文件夹等内容。
根据文档: *Options 如果您想在输出路径中保留一些文件,例如从其他一些插件生成的 stats.json 文件,请使用 exclude Array 选项。它像在 minimatch 中一样接受 globbing。

// 不要删除stats.json, important.json, 和里面的所有东西folder

目标:运行 webpack.prod.js 所以最后公共文件夹有

  • 索引.html
  • 捆绑.js
  • bundle.js.map
  • 样式.css
  • 样式.css.map
  • 图片(文件夹)

Webpack.config.prod.js

当前结果:
每次我 npm run

我会删除我的 index.html 和 images 文件夹。那我哪里写错了?

0 投票
0 回答
47 浏览

javascript - 决定一个函数将使用哪些 webpack.resolve.modules

我有多个文件夹,在每个文件夹中,我在require.

当我require从文件夹中的文件A到文件夹中的其他文件时B,我想使用不同的modules数组来解析模块,因为两个文件夹中的某些文件具有相同的名称。

我怎样才能做到这一点?


到目前为止我已经尝试过:

  • 由于缺少使用最新 webpack 版本的适当文档/示例,我未能创建解析插件。另外,我可能会重新实现很多已经实现的东西,因为我需要自己解决所有问题——这是个坏主意。
0 投票
1 回答
1781 浏览

node.js - 在编译时将基于包名称的变量传递给 webpack 源

我有一个场景,其中多个捆绑包具有相同的入口点,称为index.js

env然后,我在该文件中通过查看变量对各个子模块进行动态导入:

这样做的问题是 webpack 将捆绑所有文件,api/因为它在编译时不知道该动态值是什么。

的值process.env.API实际上与捆绑包的名称相同。所以我尝试使用 webpack 的神奇评论功能来让它工作:

但根据文档,占位符仅用于块名称,而不用于包含/排除功能。

我也尝试过使用带有回调的上下文替换插件,但上下文回调不包含有关捆绑名称的信息。

是否有可能以某种方式定义插件或配置一个值,该值将在编译时解析为包名称?