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不行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM