Node项目使用@代替根目录
一、背景
相信有很多小伙伴都会遇到和我一样的问题,就是在node项目中,自身文件的路径特别深的时候,如果需要找其他文件夹项目的文件,就需要使用多个../../../
,这就特别麻烦。
烦的不止是需要数这个文件上面有多少层父目录,一旦数错,还得从新数。。此外,如果这个文件不想放在这个文件夹下面了,换位置了,而恰巧你换位置的目录路径也很深,并且不知道有多少个../../
,那就可以开始暴躁了。
Vue项目中,自动配置了一个@来代替根目录,这样,即使你路径再深或者文件换位置了,只要你导入的文件没有换位置,都不需要一个一个去数了。因为他直接就是从项目根目录出发,不会存在这些问题。
先看一下效果图,未配置前
配置后
二、解决办法
百度了很多都没有找到实用性的解决办法,最后还是Google了一下,才得到这个效果,原文链接。
首先用npm安装一个库npm i --save module-alias
,安装完成后,打开项目根目录下面的package.json文件,加入如下代码:
"_moduleAliases": {
"@": ".",//这个@就表示根目录
"api": "./api",//你也可以自定义一个标记,比如用api指定根目录下面的api文件夹,其他的都可以直接来指定
}
"_moduleDirectories": ["node_modules_custom"]
配置完这个后,打开根目录下面的app.js文件,在文件的开头,写上
require('module-alias/register')
然后就可以全局使用@来代替根目录了,也就不需要写很多次../../../
来寻找目录了。