nodeJS面试题
1.nodejs编写代码实现编写遍历文件夹已经所有文件名
const fs = require("fs")
const path = "../../day02" // 相对路径
const arr = []
function a(path) {
fs.readdir(path, (err, data) => {
if (err) throw err
data.forEach((item, index) => {
const url = path + "/" + item
const stats = fs.statSync(url).isDirectory()
if (stats) {
a(url)
} else {
arr.push(url)
console.log(arr);
}
})
})
}
a(path)
为什么要学习node,了解前端的工程化,因为在真正的项目开发中,vue和react是不能再浏览器里直接进行编译的,需要用到webpack这个工具来进行编译转化,而webpack这个工具是基于node来实现的
2.node如何做到版本升级?为什么要使用nvm?
平常大项目用webpack打包,可能会很慢,而node版本升级可以提高项目打包速度
一个电脑上只能安装一个node版本,例如我现在手上有三个项目,一个基于node7.0,一个基于node8.0,一个基于10.0,我想同时开发就会很麻烦
而nvm允许安装不同的node版本
nvm ls查看node的版本
nvm use v8.9.4就是将电脑里node的版本切换到8.9.4
nvm install v多少版本就是下载一个新的node版本
3.模块化的差异 AMD, COMMONJS, ESMODULE
amd依赖前置