nodejs中 import 與 async
測試版本node v10.15.3
//async.js
;(async function a() {
let res = await new Promise(function(resolve) {
setTimeout(function() {
resolve(2)
}, 1000)
})
console.log(res)
})()
Administrator@DESKTOP-U41SHUG MINGW64 ~/Desktop/test
$ node async.js
2
//隔1秒輸出了2,表明在v10.15.3中可以使用 async和await
預設支援async/await了
看了一下async/await的預設支援是從v7.6.0版本開始的,所以現在應該能放心使用
再測試一下import
//import.js
import { zs } from './cons'//匯入js檔案時不用加擴充名
console.log(zs)
//cons.js
let zs = {
name: '張三'
}
export { zs }
$ node import//執行js檔案也預設不需要加擴充名:.js
報錯
所以這版本還是不支援import 和export/export default
想要使用就得用babel,babel的方法使用百度有好多這裡就不寫了
還有一種方法是使用官網的寫法:
將執行的js檔案擴充名變為 mjs
如現在將 import.js 改為 import.mjs
並在node命令中 加上 --experimental-modules指令
如下:
//import.mjs
import { zs } from './cons'
console.log(zs)
//cons.js
let zs = {
name: '張三'
}
export { zs }
Administrator@DESKTOP-U41SHUG MINGW64 ~/Desktop/test
$ node --experimental-modules import //mjs檔案在執行指令中依舊不需要加字尾
報錯了
報錯了,原因是每個使用了 import/export的依賴檔案和被執行檔名都需要把擴充名改為.mjs,而不是隻是被執行的檔案需要改mjs如下
//import.mjs
import { zs } from './cons'
console.log(zs)
//cons.mjs
let zs = {
name: '張三'
}
export { zs }
Administrator@DESKTOP-U41SHUG MINGW64 ~/Desktop/test
$ node --experimental-modules import //mjs檔案在執行指令中依舊不需要加字尾
{ name: '張三' }
執行成功
相關文章
- import,export的支援[nodejs]ImportExportNodeJS
- 徹底搞懂Python 中的 import 與 from importPythonImport
- nodejs Async詳解之三:集合操作NodeJS
- Spring中@Transactional與@Async共同使用Spring
- Python 中 import 的機制與實現PythonImport
- import tkinter與from tkinter import *的區別Import
- nodejs與javascript中的aes加密NodeJSJavaScript加密
- [譯] async 與 defer
- statistics的export與import!ExportImport
- import reload __import__在python中的區別ImportPython
- Promise與async/await與GeneratorPromiseAI
- Docker load與Docker importDockerImport
- #import vs @importImport
- Nodejs中process.cwd()與__dirname的區別NodeJS
- NPM 與 NodejsNPMNodeJS
- NodeJS 與 ExpressNodeJSExpress
- Rust 標準庫中的 async/await (async-std)RustAI
- async與defer的區別
- @import與<link> 的區別Import
- 在nodejs中使用import和裝飾器模式(babel7環境)NodeJSImport模式Babel
- JS 中的 Iterator, Generator, asyncJS
- 淺析瀏覽器與nodejs中的event loop瀏覽器NodeJSOOP
- JS/NodeJS中的非同步任務與事件環NodeJS非同步事件
- generator函式與async/await函式AI
- @Import與@ImportResource註解的解讀Import
- nodejs中的eventLoopNodeJSOOP
- 【譯】JavaScript中的async/awaitJavaScriptAI
- Spring中@Import註解的使用SpringImport
- 關於Objective-C中的importObjectImport
- Java中的Import語句如何理解?JavaImport
- #import、#include、@import modules區別Import
- golang import包前的字母與符號GolangImport符號
- DB2 export 與 import 相關操作DB2ExportImport
- 單例模式,promise與async/await單例模式PromiseAI
- Nodejs與ES6系列4:ES6中的類NodeJS
- 在nodejs中建立clusterNodeJS
- Nodejs中的stream模組NodeJS
- [面試專題]JS中模組AMD,CMD,import面試JSImport