2024-01-04
前端
node、vue3
700

一、node 环境

1.下载地址:https://github.com/coreybutler/nvm-windows/releases
安装 nvm 后请使用 nvm install 安装 node 版本,请勿单独安装 node
在nvm安装路径下找到 settings.txt,新增两行信息:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

第一行:nvm安装路径
第二行:nodejs路径
第三行:node下载镜像
第四行:npm下载镜像
2.常见命令:
nvm -v
nvm ls

nvm install 13.14.0
nvm install 18.17.1

nvm uninstall 13.14.0
nvm uninstall 18.17.1

nvm use 13.14.0 # vue2 element 使用 node 13 版本
nvm use 18.17.1 # vue3 element plus 使用 node 18 版本 

二、语法

1.css
class="w-[100%]" # width: 100%
class="max-w-100px" # max-width: 100px
class="text-gray-500 text-18px w-70px h-70px rounded-[50%] mt-20px pt-10px"
class="flex justify-center items-center h-[calc(100%-60px)]"
class="text-left text-center text-right"

color: var(--el-color-primary); # 根据主题色显示
color: var(--el-color-danger);

color: var(--el-text-color-primary); # #303133
color: var(--el-text-color-regular); # #606266
color: var(--el-text-color-secondary); # #909399

2.vue watch

// 监听搜索
watch(() => tableSearch.value, (val) => {
  sessionStorage.setItem('sessionStorage-client-client-search' + itemId.value, val);
}, { deep: true });

// 监听分页
watch(() => tablePage.value.current, (val) => {
  sessionStorage.setItem('sessionStorage-client-client-page-current' + itemId.value, String(val));
});
watch(() => tablePage.value.size, (val) => {
  sessionStorage.setItem('sessionStorage-client-client-page-size' + itemId.value, String(val));
});

四、问题解决

1.dialog 组件设置可拖动,当内容高度大于视口高度拖动显示异常的解决办法
# node_modules/element-plus/es/hooks/use-draggable/index.mjs 26行
# 在index.mjs 文件里找到 方法 useDraggable 下的 onMousedown,将其中的 方法onMousemove 中的

const moveX = Math.min(Math.max(offsetX + e2.clientX - downX, minLeft), maxLeft); 
const moveY = Math.min(Math.max(offsetY + e2.clientY - downY, minTop), maxTop);

修改为:

const moveX = clientWidth > targetWidth ? Math.min(Math.max(offsetX + e2.clientX - downX, minLeft), maxLeft) : Math.max(Math.max(offsetX + e2.clientX - downX, minLeft), maxLeft);
const moveY = clientHeight > targetHeight ? Math.min(Math.max(offsetY + e2.clientY - downY, minTop), maxTop) : Math.max(Math.max(offsetY + e2.clientY - downY, minTop), maxTop) ;

# 保存之后删除 node_modules->.vite 文件夹下的 deps 文件夹,然后重新编译即可解决
2.编译环境时出现内存不足(JavaScript heap out of memory )
npm install -g increase-memory-limit
cd yourProject
increase-memory-limit

# nodejs内存溢出; node --max-old-space-size=10240 不是内部或外部命令,也不是可运行的程序;解决办法:

# 在node_module下的.bin文件夹中查找
# 替换 "%_prog%" 为 %_prog% (去掉双引号)