上一篇介紹如何解決CommonJS相對路徑問題。假如你偏好ES6的export/import,從NodeJS 12開始支援實驗性質的解決方法。
二個地方需要修改:
- package.json 加入
"type": "module"
- 執行程式時加入
--experimental-modules
或修改package.json的start script
以上是不用修改副檔名的方式,否則NodeJS預設只認.mjs
的檔案能使用export/import
接下來介紹 export/import 的基本語法
有二種 export 方式: named 和 default, 一個檔案可以有許多 named export, 但只能有一個 default export
1 | // 以下是 named export |
1 | // 以下是 default export, 注意結尾不加分號 |
named export 會強制使用同樣的名稱 import, 而 default export 可用任意名稱輸入, 例如:1
2
3
4export default str = 'default'; // module1.js
import a from './module1';
console.info(a); // 'default'
如果一個檔案有許多 named export, 如果要選擇部分物件, 則:
1 | // constant.js |
reference: