一、解决动态拼接路径的问题
1. 使用相对路径的问题`
- 执行启动node进程时,是以当前终端的路径进行拼接代码中的
相对路径
- 当前路径有出入时,会出现
路径拼接错误
const fs = require('fs');
fs.readFile('/text.txt', 'utf-8', (err, data) => {
if (err) {
console.log(err);
return;
}
console.log(data);
});
![在这里插入图片描述](https://img-blog.csdnimg.cn/6da1f24b2d904a3dbc0b9c1530ed7905.png)
2. 使用绝对路径解决
const fs = require('fs');
fs.readFile('/桌面/node+mysql/code/第4章/4-1.路径拼接的问题/text.txt', 'utf8' , (err, data) => {
if (err) {
console.error(err)
return
}
console.log(data)
})
3. 绝对路径的代指字段
const fs = require('fs');
fs.readFile(__dirname + '/text.txt', 'utf8' , (err, data) => {
if (err) {
console.error(err)
return
}
console.log(data)
})
二、路径的拼接 path.join()
const path = require('path');
const newPath = path.join('a', 'b', 'c')
console.log(newPath)
const path = require('path');
const fs = require('fs');
fs.readFile(path.join(__dirname, '/text.txt'), 'utf-8', (err, data) => {
if (err) {
console.log(err);
return;
}
console.log(data);
});
三、文件路径和扩展名的获取
- 获取路径中的最后一部分 path.basename()
const path = require('path');
console.log(path.basename('/test/something'));
console.log(path.basename('/test/something.txt'));
console.log(path.basename('/test/something.txt', '.txt'));
const path = require('path');
console.log(path.dirname('/test/something'));
console.log(path.dirname('/test/something/file.txt'));
```javascript
const path = require('path');
console.log(path.extname('/test/something'));
console.log(path.extname('/test/something.html'));
- path 模块的其他方法:
http://nodejs.cn/learn/the-nodejs-path-module/#pathbasename