跳至主要內容

ArcoPro-中后台脚手架

程序员李某某大约 2 分钟

ArcoPro-中后台脚手架

踩坑

npm i -g arco-cli
arco init hello-arco-pro

初始化报错

Roaming\nvm\v20.12.1\node_modules\arco-cli\node_modules\arco-cli-dev-utils\lib\getAnswerFromUser.js:145
        const { question: { [command]: questions }, } = yield (0, baseConfig_1.getBaseConfig)();
                          ^

TypeError: Cannot destructure property 'question' of '(intermediate value)' as it is undefined.

解决

npm i -g cross-env
cross-env BASE_CONFIG=local arco init hello-arco-pro

选完框架安装时报错

Error: EBUSY: resource busy or locked, rmdir 'C:\Users\Administrator.arco_template_cache\1742998694114\node_modules\arco-design-pro-vue'
node:fs:1201
binding.rmdir(path);
^

Error: EBUSY: resource busy or locked, rmdir 'C:\Users\Administrator.arco_template_cache\1742998694114\node_modules\arco-design-pro-vue'
at Object.rmdirSync (node:fs:1201:11)
at rmdirSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:264:13)
at rimrafSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:243:7)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:279:39
at Array.forEach ()
at rmkidsSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:279:26)
at rmdirSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:269:7)
at rimrafSync (C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:243:7)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\arco-cli\node_modules\fs-extra\lib\remove\rimraf.js:279:39
at Array.forEach () {
errno: -4082,
code: 'EBUSY',
syscall: 'rmdir',
path: 'C:\Users\Administrator\.arco_template_cache\1742998694114\node_modules\arco-design-pro-vue'
}

解决 使用18.20.2、20.12.2、21.17.3 之前的版本即可,例如20.12.1(经测试没问题)。

登录报错

D:\Documents\vscodeSpace\hello-arco-pro\src\components\tab-bar\tab-item.vue
  80:16  error  Type of the default value for 'itemData' prop must be a object  vue/require-valid-default-prop

✖ 1 problem (1 error, 0 warnings)

  Plugin: vite-plugin-eslint
  File: D:/Documents/vscodeSpace/hello-arco-pro/src/components/tab-bar/tab-item.vue
      at formatError (file:///D:/Documents/vscodeSpace/hello-arco-pro/node_modules/vite/dist/node/chunks/dep-3e87c7b2.js:40359:46)
      at TransformContext.error (file:///D:/Documents/vscodeSpace/hello-arco-pro/node_modules/vite/dist/node/chunks/dep-3e87c7b2.js:40355:19)
      at TransformContext.transform (D:\Documents\vscodeSpace\hello-arco-pro\node_modules\vite-plugin-eslint\dist\index.js:1:2469)
      at async Object.transform (file:///D:/Documents/vscodeSpace/hello-arco-pro/node_modules/vite/dist/node/chunks/dep-3e87c7b2.js:40612:30)
      at async loadAndTransform (file:///D:/Documents/vscodeSpace/hello-arco-pro/node_modules/vite/dist/node/chunks/dep-3e87c7b2.js:36998:29) (x2)

itemData类型是Object,所以return {}

itemData: {
    type: Object as PropType<TagProps>,
    default() {
    return {};
    },
},

打包报错

package.json 中,去掉vue-tsc检查

  "build": "vue-tsc --noEmit && vite build --config ./config/vite.config.prod.ts"  // 修改前

  "build": "vite build --config ./config/vite.config.prod.ts" // 修改后

目录

├── README.md
├── package.json
├── index.html
├── src
│   ├── api  # 请求接口
│   ├── assets  # 静态资源
│          └── style 全局样式
│   ├── components  # 通用业务组件
│   ├── config  # 全局配置(包含echarts主题)
│          └── settings.json  # 配置文件
│   ├── directives # 指令集(如需,可自行补充)
│   ├── filters # 过滤器(如需,可自行补充)
│   ├── hooks # 全局hooks
│   ├── layout  # 布局
│   ├── locale  # 国际化语言包
│   ├── mock  # 模拟数据
│   ├── views  # 页面模板
│   ├── router # 路由配置
│   ├── store  # 状态管理中心
│   ├── types  # Typescript 类型
│   └── utils  # 工具库
│   └── App.vue  # 视图入口
│   └── main.ts  # 入口文件
└── tsconfig.json
上次编辑于:
贡献者: 李元昊