美文网首页
export报错SyntaxError: Unexpected

export报错SyntaxError: Unexpected

作者: 小豆soybean | 来源:发表于2021-10-29 20:35 被阅读0次

转:原文链接:https://blog.csdn.net/weixin_40817115/article/details/81534819
情景重现
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不行。
    参考文章:

exports、module.exports和export、export default到底是咋回事,
CommonJS规范,http://javascript.ruanyifeng.com/nodejs/module.html
ES6 Module 的语法,http://es6.ruanyifeng.com/#docs/module

相关文章

网友评论

      本文标题:export报错SyntaxError: Unexpected

      本文链接:https://www.haomeiwen.com/subject/mzhwaltx.html