export报错SyntaxError: Unexpected token export
情景重现
a.js
export let test = function () { console.log('1'); }
b.js
let a= require ('./a');
a.test();
运行node b,即出现如下报错:
export default { ^^^^^^ SyntaxError: Unexpected token export
解决方法
a.js改为如下:
exports.test = function () { console.log('1'); }
根本原因
Node和浏览器端所支持的模块规范不同。
条目 | Node | 浏览器 |
---|---|---|
模块规范 | CommonJS | ES6 |
导出 | * modules.exports ; exports |
export; export default |
引入 | require | import;require |
1. 关于exports和module.exports
在一个node执行一个文件时,会给这个文件内生成一个 exports和module对象,
而module有一个exports属性。
exports = module.exports = {};
2. 关于 export 和export default
export与export default均可用于导出常量、函数、文件、模块等
在一个文件或模块中,export、import可以有多个,export default仅有一个
通过export方式导出,在导入时要加{ },export default则不需要
export能直接导出变量表达式,export default不行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2020-03-18 工具连接