2016-06-10 60 views
2

我有這個節點包安裝https://github.com/jakearchibald/indexeddb-promised/blob/master/lib/idb.js,並試圖使用它。在Node.js中使用導入命令

我想使用這個命令:

(Import idb from 'idb') 

不幸的是,我得到這個錯誤:

Uncaught SyntaxError: Unexpected token import

我應該怎麼做才能解決這個問題?

+1

節點支持ES6的某些部分,但我不相信'import'就是其中之一。我相信你還是需要babel或其他的譯員。 – Chev

+0

^是正確的答案。你應該做的是用CommonJS風格編寫代碼:'let idb = require('idb')'。 –

+0

@Chev如何使用Babel和node.js來做到這一點? –

回答

2

您可以使用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" 
    } 
} 
  1. 安裝相同的 「devDependencies
  2. 安裝nodemon全球 「NPM安裝nodemon -g
  3. 配置您的npm 開始命令與我的package.json命令相同,將您的輸入文件改爲「server.js
  4. 運行「故宮開始

然後你可以使用導入語法

+0

謝謝你的回答,但它仍然沒有與同樣的錯誤工作。 –

+0

「導入」以小寫形式使用,這可能導致問題? –

+0

這是我的server.js =>從express快速導入express的示例使用; –