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

node.js - 为什么在升级到 Webpack 4 后运行我的 Webpack 插件时 `window` 未定义?

我为 Webpack 编写了一个插件,它获取我生成的 React 组件,在 Node 中呈现它,然后将它插入到生成的 HTML 文档中。

这曾经在 Webpack 3 中运行良好。为了将其升级到 Webpack 4,我替换了

据我所知,这应该足够了。

在插件中,我向 Webpack 询问我生成的包的路径,然后询问require,大致如下:

但是,由于以下原因,我突然遇到如下错误require

有问题的代码似乎是一些标准的 Webpack 头等大事:

(请注意,此示例取决于所谓的违规列。如您所见,window实际上并未在第 286 列中提及。)

我对 Webpack 不太熟悉,关于插件的文档相对稀缺,因此非常欢迎任何有关如何更接近解决此问题的指示/

0 投票
1 回答
1018 浏览

javascript - 通过 webpack-4 中的插件访问 Parser

我正在为 webpack 版本 4 开发一个插件,并且我正在尝试访问解析器以对输入文件进行一些预处理,但是我很难遵循新的 Tapable API 的“文档”以及我应该如何访问解析器。

到目前为止,我有这个:

我已经尝试了该parser.tap函数的各种其他参数,似乎没有任何帮助。我在如何访问解析器的钩子方面做错了吗?

0 投票
2 回答
751 浏览

webpack - 通过 webpack.DefinePlugin 从外部文件设置变量 - 异步读取问题

我在 webpack.config.js 文件中定义了两个变量,我想用名为 Web.config 的外部文件中的值填充它们。对于这个外部文件,我有一个名为 webconfig 的 npm 包来解析变量并且它可以工作。文件是异步解析的,所以问题在于正确创建 module.exports。

现在,定义的属性导出为“a”和“b”。找不到如何从文件中导出解析的属性。有什么建议么?

0 投票
1 回答
1141 浏览

javascript - 使用 webpack ProvidePlugin 全局导入 javascript 文件

我有一个进行网络调用的功能,我希望该功能在全球范围内可用,而无需在每次需要使用该功能时都导入它

请求.js

Webpack.config.js

因此,当我尝试在任何其他文件中使用请求函数时,它会抛出一个错误,提示“未找到模块”。我还尝试添加一条规则(Shimming),但也没有成功。

提前致谢 :)

0 投票
1 回答
236 浏览

javascript - webpack 插件创建未定义选项

我正在构建一个测试 webpack 插件。我有以下代码:

在我的 webpack.config.js 文件中,我有以下内容:

问题是它打印的是“未定义”而不是选项对象。我在构造函数中放置了一个console.log,我得到了正确的结果:

{testOption:'测试选项'}

但我似乎无法在应用方法中访问它,它返回未定义。我做错了什么,我无法访问此内容?我尝试将“发射”更改为“完成”等其他内容,但我仍然得到相同的结果。

0 投票
1 回答
1351 浏览

webpack - Webpack 供应商库未拆分为单独的包

我正在尝试使用autodll-webpack-plugin ( v0.4.2) 将我的供应商和应用程序包分开。这个包是webpack的 DllPlugin 和add-asset-html-webpack-plugin 的顶级插件,用于自动排序index.html.

这个插件应该做的是分离供应商库和应用程序代码。我可以使用webpack中的 CommonsChunkPlugin 来做到这一点,但是这样每次重新编译时都会重新生成包。与生成供应商捆绑包一次并且仅在更改库时重新编译它相比效率较低。


问题

我让这个插件“工作”(它正在输出一个vendor.bundle.js)。这里唯一的问题是,当我app.bundle.js使用webpack-bundle-analyzer ( v2.13.1) 检查时。我可以看到其中的所有 node_modules 也都vendor.bundle.js加载到了这个包中,因此插件无法正常工作。

app.bundle.js


版本

我在用:

  • 网页包v4.11.0
  • 通天塔装载机v7.1.4
  • 通天塔核心v6.26.3
  • autodll-webpack-插件v0.4.2

项目结构

我的项目具有以下文档结构:


我的 webpack.common.js此代码与开发和产品构建共享

根据上下文键的文档应该autodll-webpack-plugin用于分离。所以我认为这就是问题所在。

文档描述您应该引用它所在的文件夹webpack.config.js,但我有 3 个,我需要引用哪一个?我的文件夹被调用webpack,而不是config你在文档中看到的,在..这里也正确吗?

0 投票
1 回答
289 浏览

javascript - Webpack 插件创建监视文件夹

我创建了一个 webpack 插件,并希望它能够在文件夹更改时触发重新编译到我的 dist 文件夹,但我无法找到有关如何执行此操作的信息。

我知道这是可能的,因为当 from: 目录中的任何文件发生更改时,CopyWebpackPlugin 会触发重新编译。

在创建的插件中,如何查看文件夹中的更改会触发 webpack 重新编译到 dist 文件夹?

0 投票
1 回答
250 浏览

javascript - 如何从 webpack 插件中读取 package.json

我目前正在开发一个 webpack 插件,我正在尝试找到一种方法来读取package.json调用我的插件的 repo。到目前为止,我尝试的任何方法都会导致读取 plugins package.json

有没有办法直接访问该文件?

0 投票
1 回答
10901 浏览

javascript - Webpack 4 和 Uglify 插件(TypeError:无法读取未定义的属性“长度”)

我在 Linux 机器上遇到了 Webpack 4 的问题。构建在开发模式下工作正常,但在生产中失败。它似乎也在 Windows 机器上工作。我确实尝试将 webpack 降级到旧版本,但什么也没做。

节点:v10.2.1

包.json

webpack.config.js

0 投票
2 回答
13247 浏览

webpack - webpack 4 禁用 uglifyjs-webpack-plugin

在过去的 2 天里,我遇到了这个问题。所以我决定完全禁用uglifyjs-webpack-pluginwebpack 构建过程。我在 webpack 4 上找不到任何东西。