Module parse failed: evaluated.couldHaveSideEffects is not a function

251 阅读1分钟

问题:

Module parse failed: evaluated.couldHaveSideEffects is not a function
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
 * ./node_modules/source-map-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
TypeError: evaluated.couldHaveSideEffects is not a function

解决方案

排除相关代码

1. 从index.js入口文件,清除相关引用(可删减为最简单的一个组件)
2. 成为简单组件后,检查是否还报此错
3. 一层一层向下定位,找到对应不兼容代码,修改为ES5语法代码
## 以下是我得不兼容代码
const {
  REACT_APP_USER_PREFIX = '',
  REACT_APP_OAUTH_PREFIX = '',
  REACT_APP_SSO_PREFIX = '',
  REACT_APP_MSG_PREFIX = '',
  REACT_APP_PORTAL_URL = '',
  REACT_APP_TENANT = '',
} = process.env;
## 以下是我修改后的代码
const REACT_APP_USER_PREFIX = process.env.REACT_APP_USER_PREFIX || '';
const REACT_APP_OAUTH_PREFIX = process.env.REACT_APP_OAUTH_PREFIX || '';
const REACT_APP_SSO_PREFIX = process.env.REACT_APP_SSO_PREFIX || '';
const REACT_APP_MSG_PREFIX = process.env.REACT_APP_MSG_PREFIX || '';
const REACT_APP_PORTAL_URL = process.env.REACT_APP_PORTAL_URL || '';
const REACT_APP_TENANT = process.env.REACT_APP_TENANT || '';