我有這個節點包安裝https://github.com/jakearchibald/indexeddb-promised/blob/master/lib/idb.js,並試圖使用它。在Node.js中使用導入命令
我想使用這個命令:
(Import idb from 'idb')
不幸的是,我得到這個錯誤:
Uncaught SyntaxError: Unexpected token import
我應該怎麼做才能解決這個問題?
我有這個節點包安裝https://github.com/jakearchibald/indexeddb-promised/blob/master/lib/idb.js,並試圖使用它。在Node.js中使用導入命令
我想使用這個命令:
(Import idb from 'idb')
不幸的是,我得到這個錯誤:
Uncaught SyntaxError: Unexpected token import
我應該怎麼做才能解決這個問題?
您可以使用babel將ES6語法中的代碼以透明的方式轉換爲ES5語法,供您開發。這是我的package.json在一個演示應用程序的一部分
{
"name": "**********",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"start": "nodemon server.js --exec babel-node --presets es2015,stage-2"
},
"author": "Borja Tur",
"license": "ISC",
"dependencies": {
"bcrypt-nodejs": "0.0.3",
"body-parser": "^1.15.1",
"express": "^4.13.4",
"jsonwebtoken": "^7.0.0",
"mongoose": "^4.4.19",
"morgan": "^1.7.0"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-cli": "^6.9.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-stage-2": "^6.5.0"
}
}
然後你可以使用導入語法
謝謝你的回答,但它仍然沒有與同樣的錯誤工作。 –
「導入」以小寫形式使用,這可能導致問題? –
這是我的server.js =>從express快速導入express的示例使用; –
節點支持ES6的某些部分,但我不相信'import'就是其中之一。我相信你還是需要babel或其他的譯員。 – Chev
^是正確的答案。你應該做的是用CommonJS風格編寫代碼:'let idb = require('idb')'。 –
@Chev如何使用Babel和node.js來做到這一點? –