export報錯SyntaxError: Unexpected token export
阿新 • • 發佈:2019-01-05
情景重現
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不行。
參考文章: