JavaScript中import/export失效,出现user.js 404错误求助
解决JS模块导入导出的404报错问题
报错GET http://127.0.0.1:5500/user.js net::ERR_ABORTED 404 (Not Found)的核心是浏览器找不到user.js文件,按以下步骤排查解决:
1. 确认文件结构匹配导入路径
你的main.js里用了相对路径./user.js,这要求user.js必须和main.js在同一目录下。正确的文件结构应该是:
你的项目文件夹/ ├─ index.html ├─ main.js └─ user.js
如果user.js在子目录(比如src/),要把导入路径改成./src/user.js;如果在上层目录,改成../user.js。
2. 检查文件名拼写(含大小写)
确保user.js的文件名完全匹配导入路径里的写法:
- 别写成
User.js(Linux/macOS和服务器环境区分大小写) - 别漏写
.js后缀,或者多写多余字符
3. 确认服务器根目录正确
如果你用VSCode的Live Server插件运行,要右键点击包含所有文件的文件夹选择"Open with Live Server",而不是只打开单个index.html文件。否则服务器的根目录会错位,导致找不到子文件。
附你的代码整理:
index.html 代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script type="module" defer src="main.js"></script> </head> <body> </body> </html>
main.js 代码
import User from './user.js' const user = new User('bob',11); console.log(user);
user.js 代码
export default class User{ constructor(name,age) { this.name = name; this.age = age; } } export function printName(user) { console.log(`User's name is ${user.age}`); // 这里有个小问题:应该是${user.name},不然会打印年龄而非名字 } export function printAge(user) { console.log(`User is ${user.age} years old`); }
内容的提问来源于stack exchange,提问作者Vishal Sharma
相关产品推荐
相关产品推荐

