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
- Spring中@Transactional與@Async共同使用Spring
- [譯] async 與 defer
- Promise與async/await與GeneratorPromiseAI
- NPM 與 NodejsNPMNodeJS
- NodeJS 與 ExpressNodeJSExpress
- @import與<link> 的區別Import
- 在nodejs中使用import和裝飾器模式(babel7環境)NodeJSImport模式Babel
- Nodejs中process.cwd()與__dirname的區別NodeJS
- 淺析瀏覽器與nodejs中的event loop瀏覽器NodeJSOOP
- JS/NodeJS中的非同步任務與事件環NodeJS非同步事件
- Rust 標準庫中的 async/await (async-std)RustAI
- async與defer的區別
- generator函式與async/await函式AI
- @Import與@ImportResource註解的解讀Import
- Spring中@Import註解的使用SpringImport
- nodejs中的eventLoopNodeJSOOP
- JS 中的 Iterator, Generator, asyncJS
- 【譯】JavaScript中的async/awaitJavaScriptAI
- golang import包前的字母與符號GolangImport符號
- Spring Boot中@Import三種使用方式!Spring BootImport
- CSS中 link 和@import的區別CSSImport
- 在nodejs中建立clusterNodeJS
- require()、import、import()有哪些區別?UIImport
- Python import相關內容區別介紹( import *** as 、from***import )PythonImport
- async,await與forEach引發的血案AI
- async與await以及巨集微任務AI
- async 與 Thread 的錯誤結合thread
- Vue中async await的使用示例VueAI
- JavaScript中的async/await詳解JavaScriptAI
- 理解C#中的 async awaitC#AI
- NodeJs安裝與使用入門NodeJS
- 微信JSSDK與NodeJS深度整合NodeJS
- NodeJS安裝與環境搭建NodeJS
- nodejs和npm安裝與配置NodeJSNPM
- SCSS @importCSSImport
- CSS @importCSSImport