3

尝试在 Single-SPA 应用程序中启动子应用程序时遇到错误。基本上,我正在尝试开发一种包含 Sockjs、Stomp-client 等的 util 应用程序(Single-SPA 中的子应用程序)。我已经删除了节点模块和 package-lock.json 并再次安装了节点模块。当我尝试启动应用程序时,我面临以下错误。

Error:
[webpack-cli] Invalid options object. Dev Server has been initialized using an options object that does not match the API schema.
 - options has an unknown property 'firewall'. These properties are valid:
   object { allowedHosts?, bonjour?, client?, compress?, devMiddleware?, headers?, historyApiFallback?, host?, hot?, http2?, https?, ipc?, liveReload?, onAfterSetupMiddleware?, onBeforeSetupMiddleware?, onListening?, open?, port?, proxy?, setupExitSignals?, static?, watchFiles?, webSocketServer? }
 - options.client has an unknown property 'host'. These properties are valid:
   object { logging?, overlay?, progress?, webSocketTransport?, webSocketURL? }

用于运行应用程序的命令:npm start

包.json

{
  "name": "@sudeep/livedoc",
  "scripts": {
    "start": "webpack serve",
    "start:standalone": "webpack serve --env standalone",
    "build": "webpack --mode=production",
    "analyze": "webpack --mode=production --env analyze",
    "lint": "eslint src --ext js,ts,tsx",
    "format": "prettier --write .",
    "check-format": "prettier --check .",
    "prepare": "husky install",
    "test": "cross-env BABEL_ENV=test jest --passWithNoTests",
    "watch-tests": "cross-env BABEL_ENV=test jest --watch",
    "coverage": "cross-env BABEL_ENV=test jest --coverage"
  },
  "devDependencies": {
    "@babel/core": "^7.14.6",
    "@babel/eslint-parser": "^7.14.7",
    "@babel/plugin-transform-runtime": "^7.14.5",
    "@babel/preset-env": "^7.14.7",
    "@babel/preset-typescript": "^7.14.5",
    "@babel/runtime": "^7.14.6",
    "babel-jest": "^27.0.5",
    "concurrently": "^6.2.0",
    "cross-env": "^7.0.3",
    "eslint": "^7.29.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-config-ts-important-stuff": "^1.1.0",
    "eslint-plugin-prettier": "^3.4.0",
    "husky": "^6.0.0",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^27.0.5",
    "jest-cli": "^27.0.5",
    "prettier": "^2.3.2",
    "pretty-quick": "^3.1.1",
    "ts-config-single-spa": "^2.0.1",
    "typescript": "^4.3.4",
    "webpack": "^5.40.0",
    "webpack-cli": "^4.7.2",
    "webpack-config-single-spa": "^4.0.0",
    "webpack-config-single-spa-ts": "^2.2.2",
    "webpack-dev-server": "^3.11.2",
    "webpack-merge": "^5.8.0"
  },
  "dependencies": {
    "@types/jest": "^26.0.23",
    "@types/systemjs": "^6.1.0",
    "@types/webpack-env": "^1.16.0",
    "fast-json-patch": "3.0.0-1",
    "rxjs": "6.6.0",
    "stompjs": "2.3.3",
    "sockjs-client": "1.5.0"
  }
}
4

4 回答 4

6

我通过将“webpack-config-single-spa-ts”从 2.0.0 更新到 3.0.0 解决了这个问题。

于 2021-08-02T10:57:50.147 回答
3

firewall选项已重命名webpack-dev-server v4.0.0-rc.0

您应该使用allowedHosts而不是firewall.

此问题已在webpack-config-single-spa 的 4.0.0 版本中修复,因此升级此包也将解决您的问题。

于 2021-07-24T12:06:58.673 回答
0

我在 React 中遇到了同样的情况。该项目的 package.json 文件有:

"webpack-config-single-spa-react": "2.0.0",

因此,当我执行

npm i

npm 安装了该组件所需的确切版本(2.0.0)。如果您查看以下内容,则可以验证已安装的版本

./node_modules/webpack-config-single-spa-react/package.json

我手动删除了文件夹 webpack-config-single-spa-react。在我的项目中编辑了 package.json 以请求 3.0.0 以上的版本:

"webpack-config-single-spa-react": "^3.0.0",

执行“npm install”

通过查看以下内容来验证是否安装了至少 3.0.0 版的软件包:

./node_modules/webpack-config-single-spa-react/package.json

上述操作解决了问题。

于 2022-01-17T23:57:30.477 回答
0

在您的package.json中将此模块webpack-dev-server修改为4.0.0-beta.0并重新构建。

我的版本:

于 2021-08-01T21:01:17.573 回答