qiankun配置子应用时报‘__webpack_public_path__‘ is not defined

1,736 阅读1分钟

如果项目里启用了eslint,我们在根据官方文档配置子应用时可能会报‘__webpack_public_path__‘ is not defined

image.png

从提示可以看出这是eslint的问题!
我们在public-path.js文件里直接使用了‘__webpack_public_path__’变量,这个变量在此文件中没有定义

当访问当前源文件内未定义的变量时,no-undef 规则将发出警告

所以我们需要在子应用package.json文件的eslintConfig中配置globals对象,globals对象包含我们希望使用的全局变量,对于每个全局变量,其值为 "writable"或者true时允许重写,为"readable"false时不允许重写。

我们在eslintConfig中添加以下代码,重启服务即可解决

"globals": {
      "__webpack_public_path__": true
 }