前端移动node_modules到其他位置
[toc]
说明
现在前端开发都是工程化管理, npm、yarn等包管理工具会在源码目录下生产node_modules文件夹;
node_modules文件夹很庞大, 文件数量很多, 有时候希望移动到其他位置, 这里提供一种方法;
原理
创建node_modules、package.json和其他的配置文件(如postcss.config.js)的符号链接(symbolic link)
批处理脚本
命名为mknm.bat
放到path路径, 在前端源码根目录执行mknm
@rem 作用:在传入的文件夹下创建一个node_modules的link
@rem 用法: 参数: 一个文件夹的完整路径, 如果忽略使用当前目录;
@rem 其他:
@rem 2018/11/08 周四 15:32:59.03
@echo off&SetLocal EnableDelayEdexpansionrem 传入一个文件夹路径
if "%1" equ "" (
"%~0" "%cd%"
goto :eof
)
echo 当前路径: %cd%
echo;
rem 1. 传入一个文件夹的路径;
2. 在baseDir创建同名的文件夹;
3. 创建link
set dirPath=%~1
set dirName=%~nx1
set baseDir=D:\_node_modulesif not defined dirPath (
echo 参数为空;
应该传入路径
pause&goto :eof
)
rem 创建文件夹;
最终的文件夹的路径是newDir
call :creatDir "!dirName!"mklink /d "!dirPath!\node_modules" "!newDir!\node_modules"
mklink "!newDir!\package.json" "!dirPath!\package.json"
if exist "!dirPath!\postcss.config.js" (
mklink "!newDir!\postcss.config.js" "!dirPath!\postcss.config.js"
)set file="!newDir!\readme.txt"
(
echo mklink /d"!dirPath!\node_modules" "!newDir!\node_modules"echo mklink "!newDir!\package.json" "!dirPath!\package.json"echo mklink "!newDir!\postcss.config.js" "!dirPath!\postcss.config.js") >%file%echo 完成..........
goto :eof:creatDir
set "name=%~1"
:A
set newDir=!baseDir!\!name!
if not exist "!newDir!" (
mkdir "!newDir!\node_modules"
goto :eof
) else (
set "name=!name!-1"
goto :A
):eof
注意 【前端移动node_modules到其他位置】不保证100%有效, 可能install出错、运行出错, 可以尝试把其他文件(比如vue.config.js)也link一下;
推荐阅读
- Node.js中readline模块实现终端输入
- 移动端h5调试方法
- Jsr303做前端数据校验
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
- 前端代码|前端代码 返回顶部 backToTop
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- 前端自学笔记01
- js保留自定义小数点
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 前端开发|Vue2.x API 学习