我有一个node.js后端项目,我使用webpack
来构建它。
"webpack": "^4.46.0",
"webpack-cli": "^4.4.0"
字符串
它报告错误,如
Module build failed (from ./node_modules/babel-loader/lib/index.js):
TypeError: this.getOptions is not a function
型
然后我读了/node_modules/babel-loader/lib/index.js
的源代码来弄清楚为什么。
的数据
正如您在屏幕截图中看到的,在node_modules/babel-loader/lib/index.js
文件中只有一个this.getOptions()
的搜索结果。没有函数的定义,它只是被使用。这应该是一个bug,至少看起来是这样。
为什么babel team
要这样写源代码?为什么其他人都认为这是版本冲突,而不是代码错误本身?
1条答案
按热度按时间yc0p9oo01#
请参见加载器的getOptions方法
Webpack 5附带了内置的
this.getOptions
方法,可在加载器上下文中使用。这是对使用getOptions
方法的装载机的一个突破性变化,而不是以前的首选schema-utils
:this.getOptions
自Webpack 5起可用babel-loader
9.x支持webpack 5.x,因为它使用this.getOptions
如果你想使用webpack 4.x,那么你应该使用
babel-loader
8.x,它支持webpack 4.x或5.x。babel-loder
8.x使用loaderUtils.getOptions(this)
readme上的版本兼容性说明非常清楚