JavaScript 中导入模块时,确实不需要显式地写 node_modules 路径。
1. 正确的导入语法
在 Webpack、Vite 等打包工具中,node_modules
目录是默认的模块搜索路径,因此直接写包名即可:
// ✅ 正确:直接使用包名
import 'nprogress/nprogress.css';
// ❌ 错误:不需要显式写 node_modules 路径
import 'node_modules/nprogress/nprogress.css';
2. 为什么不需要写 node_modules?
JavaScript 模块解析规则规定:
当导入路径以 /、./ 或 ../ 开头 时,视为相对路径,需要指定完整路径(如 ./styles.css)。
当导入路径 不以 ./ 开头 时,视为模块路径,会自动从 node_modules 目录查找。
// 查找路径示例
import 'nprogress/nprogress.css'; // 实际查找 node_modules/nprogress/nprogress.css
import 'axios'; // 实际查找 node_modules/axios/index.js