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
