1.path.join(path1,path2,path3…)
作用:将路径片段使用特定的分隔符(window:\)连接起来形成路径,并规范化生成的路径。若任意一个路径片段类型错误,会报错。
1.console.log(__dirname); // F:\vue project\node
2.console.log(path.join(__dirname, '../templateOpen/')); // F:\vue project\templateOpen\
3.console.log(path.join(__dirname, './templateOpen/')); // F:\vue project\node\templateOpen\
4.console.log(path.join(__dirname, '/templateOpen/')); // F:\vue project\node\templateOpen\
5.console.log(path.join(__dirname, 'templateOpen/')); // F:\vue project\node\templateOpen\
总结:
1.如果第二个参数已(…/)开头,那么在拼接时就会舍弃前一个参数尾部的一个路径,如上图2所示
2.如果第二个参数已(./、/、什么都没有)开头,那么在拼接时就会直接与前一个参数尾部进行拼接,如上图3,4,5所示
3.join在拼接路径时,不会舍弃后一个参数末尾的(/)
path.resolve([from…],to)
作用:把一个路径或路径片段的序列解析为一个绝对路径。相当于执行cd操作。
1.console.log(__dirname); // F:\vue project\node
2.console.log(path.resolve(__dirname, '../templateOpen/')); // F:\vue project\templateOpen
3.console.log(path.resolve(__dirname, './templateOpen/')); // F:\vue project\node\templateOpen
4.console.log(path.resolve(__dirname, '/templateOpen/')); // F:\templateOpen
5.console.log(path.resolve(__dirname, 'templateOpen/')); // F:\vue project\node\templateOpen
总结:
1.如果第二个参数已(…/)开头,那么在拼接时就会舍弃前一个参数尾部的一个路径,如上图2所示
2.如果第二个参数已(./、什么都没有)开头,那么在拼接时就会直接与前一个参数尾部进行拼接,如上图3,5所示
3.如果第二个参数已(/)开头,那么在拼接时就会后一个路径替换掉前一个路径,如上图4所示
3.resolve在拼接路径时,会舍弃后一个参数末尾的(/)