问题标签 [webpack-loader]

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 回答
35 浏览

jquery - 如何在不修改其源代码的情况下将“jquery-1.4.2”作为 webpack 中的模块加载

我想jquery-1.4.2jquery-3.x. 我将两个脚本的路径别名为:jquery1/jquery3

对于 jquery-3.x,以下代码有效:

require("imports-loader?jQuery=jquery3!app/some.jquery.myplugin");

但是如果我对 jquery1 做同样的事情:

require("imports-loader?jQuery=jquery1!app/some.jquery.mylegacyplugin");

我在运行时得到:无法设置未定义的属性 mylegacyplugin。

到目前为止,我发现的唯一解决方案是编辑 jquery-1.4.2。文件并在函数末尾添加以下内容:

module.exports=jQuery;

有没有一个加载器可以用来避免编辑 jquery 的源代码?

0 投票
2 回答
873 浏览

javascript - javascript 正则表达式匹配文件扩展名但不包括前缀扩展名

我需要使用正则表达式匹配 webpack 规则的文件扩展名。我想针对 svg 文件制定两个单独的规则:*.svg*.icon.svg. 这些规则必须相互排斥。通过测试 .icon.svg 很容易捕捉到 *.icon.svg 场景/\.icon.svg$/。但是捕获所有扩展名的表达式应该是什么.svg,不包括以 结尾的文件.icon.svg

的规则示例.icon.svg

0 投票
1 回答
1252 浏览

webpack - Webpack 4 - 在加载器中更改模块的类型

Webpack 4 引入了模块类型,允许更好地处理 JSON、CSS、ES6 模块等。

一些加载器,比如messageformat-loader,接受一种类型的源(在本例中为 JSON),但输出另一种类型(在本例中为 JS)。这目前在 Webpack 4 中中断。

加载器如何通知 webpack 模块类型发生变化?

我在加载程序中尝试过this._module.type = 'javascript/auto',但没有效果。

作为一种解决方法,最终用户可以type: 'javascript/auto'为加载器添加到 webpack 配置中,但这似乎是实现细节的泄漏。另外,如果用户希望将此加载器的输出通过管道传输到另一个需要 JS 的加载器中,则它不会起作用。

任何在源类型之间更改的加载器都会受到影响,例如val-loaderto-string-loaderapply-loader等。我认为甚至babel-loader等也会受到影响,因为它们从 ES6 模块转换为 ES5 代码,现在是不同的模块类型。

0 投票
2 回答
13855 浏览

webpack - 加载视频 mp4 webpack 加载器

如何使用 webpcak 4 加载 mp4 视频格式,我尝试这样:

并像这样导入

但这对我不起作用,并且出现错误You may need an appropriate loader to handle this file type.

但这对我有用,但我不想在每个文件中添加

0 投票
1 回答
244 浏览

webpack - loaderUtil.getOptions 返回 null:“this”对象在 Webpack 4 的加载器函数中为空

我正在尝试创建一个自定义加载程序,以便为 chrome 扩展生成 manifest.json 文件,由于某种原因,我无法通过 loaderUtils 访问“选项”对象,因为this它是一个空对象……是我还应该做些什么来确保 loaderRunner 调用我的 loader 函数并this正确初始化?

manifest-loader.js

webpack.config.js

0 投票
1 回答
354 浏览

javascript - 阻止 Webpack 的默认加载器运行

Webpack 内置了一个 JSON 加载器。如何编写一个不尝试在结果上运行内置 JSON 加载器的自定义加载器?

基本上,我希望我的加载器接收一个配置对象(存储在 JSON 文件中)并从该配置生成源代码,它不再是有效的 JSON,它是 JavaScript(随后可以通过 babel-loader 提供)。

这是一个非常愚蠢,人为的例子。源文件是一个 JSON 文件,但我希望我的加载器的输出是一些 JS。

装载机

Webpack 配置

相反,我最终得到了这个错误:

从堆栈跟踪中可以看出,它来自webpack/lib/JsonParser.js. 我如何告诉 Webpack 首先不要运行其内置的 JSON 解析器,而是将匹配此规则的 JSON 文件的处理委托给我的加载器?

0 投票
1 回答
3227 浏览

angular - webpack - 找不到模块:错误:无法解析“./src/app/app.component.html”

我正在尝试从 to 迁移systemjswebpack并且我的.html文件出现此错误,这些文件在角度组件中定义为模板。

webpack.config.js

市场数据.component.ts

tsconfig.json如果需要

目录结构

我得到的错误;

谢谢!

0 投票
2 回答
57584 浏览

angular - Angular CLI 自定义 webpack 配置

在以前的 Angular 版本中,有一个弹出选项,以便您可以随意修改 webpack 配置。
此功能最常见的用例之一是添加自定义 webpack 加载器。

在 Angular 6 中,这个选项已被删除,因此目前实际上没有办法获取 webpack 配置(除了在 Angular 源代码中查找它)。

有没有办法将自定义 webpack 配置添加到使用 @angular/cli 6+ 的 Angular 应用程序?或者,有什么方法可以“弹出”新的 Angular CLI 在后台使用的 webpack 配置?

0 投票
6 回答
15278 浏览

javascript - 如何在编译时使用 webpack 替换文件?

我有一个具有多种配置的项目。第一个配置是config.dev.js包含一些开发配置的文件。我在开发模式下使用它。第二个配置是config.js文件。我在生产模式下使用它。

在我使用导入的代码中:

我想在开发中使用第一个配置文件,在生产中使用第二个配置文件而不重写所有导入。如何根据构建模式替换此配置?

0 投票
1 回答
1098 浏览

vue.js - Vue-cli Webpack 配置:如何正确设置 webp-loader

根据 webp-loader文档,我正在尝试在我的

vue.config.js

但这似乎是错误的......

webp-loader 文档有什么问题?

感谢您的反馈