ice-lab / icestark

:tiger: Micro Frontends solution for large application(面向大型应用的微前端解决方案),站点国内镜像:https://icestark.gitee.io
https://micro-frontends.ice.work
MIT License
2.03k stars 173 forks source link

pnpm 安装依赖和启动项目报错 #731

Closed ChaseWindYoungs closed 5 months ago

ChaseWindYoungs commented 6 months ago

1、按照文档,用官方脚手架,创建一个新的 react 主应用

npm init ice icestark-layout @icedesign/stark-layout-scaffold
cd icestark-layout
npm install
npm start

2、没有按照 npm 的方式安装依赖,而是用了 pnpm 安装依赖,发现在安装时报错 image

3、运行时也出现了报错: image

pnpm版本:8.14.0 node版本:v18.16.0

package.json内容:

{
  "name": "@icedesign/stark-layout-scaffold",
  "version": "3.3.2",
  "description": "微前端方案 icestark 的主应用模板,用于快速初始化主应用",
  "homepage": "https://icestark-react.surge.sh",
  "dependencies": {
    "@alifd/next": "^1.x",
    "@alifd/theme-design-pro": "^0.x",
    "classnames": "^2.2.5",
    "moment": "^2.24.0",
    "prop-types": "^15.5.8",
    "react": "^17.0.2",
    "react-dom": "^17.0.2"
  },
  "devDependencies": {
    "@iceworks/spec": "^1.0.0",
    "@types/react": "^17.0.2",
    "@types/react-dom": "^17.0.2",
    "build-plugin-fusion": "^0.1.21",
    "build-plugin-icestark": "^2.0.0",
    "build-plugin-ignore-style": "^0.1.0",
    "build-plugin-moment-locales": "^0.1.0",
    "eslint": "^7.30.0",
    "ice.js": "^2.0.0",
    "stylelint": "^13.7.2"
  },
  "scripts": {
    "start": "icejs start",
    "build": "icejs build",
    "prepublishOnly": "npm run build",
    "lint": "npm run eslint && npm run stylelint",
    "eslint": "eslint --cache --ext .js,.jsx,.ts,.tsx ./",
    "eslint:fix": "npm run eslint -- --fix",
    "stylelint": "stylelint \"**/*.{css,scss,less}\""
  },
  "publishConfig": {
    "access": "public"
  },
  "scaffoldConfig": {
    "name": "ice-stark-layout",
    "title": "icestark 主应用",
    "categories": [
      "icestark"
    ],
    "screenshot": "https://img.alicdn.com/tfs/TB1WMB9YAL0gK0jSZFAXXcA9pXa-1625-883.png"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/ice-lab/react-materials/tree/master/scaffolds/icestark-layout"
  }
}

官网教程中,没有提及到可以使用pnpm,是因为不支持吗?还是其他的原因?

还有,我用的是icestark的官方脚手架搭建主应用,但是ice.js的版本却是2.0.0,这是不是有点不妥,ice.js都已经升级到3.1.0了

ClarkXia commented 5 months ago

新版脚手架包名为 @icedesign/stark-layout 和 @icedesign/stark-child,文档我们更新下