首页·报错信息

webpack · 构建与类型

报错原文

You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file.

这是什么意思

这是 webpack 在 Module parse failed 之后补上的那一行,意思是它想把那个文件当 JavaScript 读,而它不是 JavaScript。要么你 import 了需要转换的东西——TypeScript、JSX、CSS、图片、.vue 文件——而 module.rules 里没有对应规则;要么 node_modules 里某个包发布的是未编译的源码,而这个目录正躺在你的 exclude 里。在 module.rules 里为那个扩展名加一条 loader 规则就是解法,而卡在哪个文件,消息上方打印的路径会告诉你。为了让它消失而删掉 exclude: /node_modules/,会让整个构建明显变慢;只为那一个包开例外才是更好的交易。

怎么修

这个没有一行命令能解决。说明里写了该看哪里。

来自
webpack
构建与类型
10

构建阶段的错误是工具在运行之前就先拒绝了,所以它们出现的那一刻并不弄坏什么——但它们问你两个问题:你要把类型或路径改成和真实结构一致,还是用一个 as any、一条抑制注释让那一行过去?也正是在这里,那些只在你自己机器上成立的事情——大小写、扩展名、环境变量——第一次显形。

怎么读报错

  • 从第一行往下读。越往下越是工具内部的事,起因通常写在最上面。
  • 有文件名和行号就从那里查——不是栈顶那一帧,而是最上面那条提到你自己写的文件的行。
  • 把报错原文照样去搜,但先去掉你自己的路径和变量名,正是那些让搜索匹配不上。
  • 同一种情况在不同版本里措辞不同。结果不对头,就把版本号一起加进查询。
  • 粘贴修法之前,先确认它会丢掉什么。这里面有些是不能撤回的。

常见问题

Q. “You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file.” 是什么意思?

这是 webpack 在 Module parse failed 之后补上的那一行,意思是它想把那个文件当 JavaScript 读,而它不是 JavaScript。要么你 import 了需要转换的东西——TypeScript、JSX、CSS、图片、.vue 文件——而 module.rules 里没有对应规则;要么 node_modules 里某个包发布的是未编译的源码,而这个目录正躺在你的 exclude 里。在 module.rules 里为那个扩展名加一条 loader 规则就是解法,而卡在哪个文件,消息上方打印的路径会告诉你。为了让它消失而删掉 exclude: /node_modules/,会让整个构建明显变慢;只为那一个包开例外才是更好的交易。

Q. 怎么修?

没有一行命令能解决。上面的说明写了该看哪里。

Q. 这是哪个工具报的?

webpack。它属于构建与类型,报错原文有 20 个词。

相关报错