2015-09-02 26 views
47

我試圖運行node.js後端服務器。在Node.js文件中導入時收到錯誤unexpected reserved word在node.js中導入意外的保留字

文件core.module.js的臺詞是:

'use strict'; 
import lodashMixins from './lodashMixins.js' 
... other imports and configurations ... 

我推出簡單的命令:node core.module.js

的情況並不少見的錯誤,但通常它與其他庫發生。我還沒有看到Node.js的解決方案。我應該如何解決這個問題?我正在使用Windows Server。

編輯:我發現它是ES6,但我怎麼能啓動它?它看起來像應用程序的後端,但我不知道應該使用什麼命令來啓動它而沒有錯誤。

+1

您可以使用類似'babel'的東西。一個相關的問題[鏈接](http://stackoverflow.com/questions/30773756/is-it-okay-to-use-babel-node-in-production) – Sami

回答

30

import關鍵字是modules feature in ECMAScript 2015的一部分,還有export以及其他一些規範。

目前,它並未在NodeJS中本地實現,即使是最新版本(v0.12.7),也不支持ES2015「友好」分叉iojs。

您將需要使用轉譯器才能使其工作。

儘管存在--harmony_modules標誌,它仍然不支持最新版本(v5.8),其中does nothing。你最好的運行是用巴貝爾作爲解釋herehere

+0

這是外包項目,所以它是建立和運行在他們的方面不知何故。我怎麼能找到transpilers?我嘗試了搜索'babel'或'transpiler'的項目,但沒有發現任何東西。如果可以給出線索,我可以發佈core.module的完整代碼。我想我可以在不編輯代碼的情況下啓動它,但不知道如何。 – Dracontis

+4

那你爲什麼不問他們呢? – Amit

+0

也可以是他們正在與SpiderMonkey一起使用的NodeJS fork下運行它。 – ghaiklor

48

importECMAScript 2015 (ES6) standard的一部分,如上面提到的Amit它不是目前在本地實施的NodeJS。

所以,你可以使用transpiler像babel運行您es6腳本

npm install babel

在此基礎上answer

一個例子app.js

import {helloworld,printName} from './es6' 
helloworld(); 
printName("John"); 

個es6.js

module.exports = { 
    helloworld: function() { console.log('hello world!'); }, 
    printName: function(name) { console.log(name); } 
} 

而且使用require hookstart.js

require("babel/register"); 
var app = require("./app.js"); 

,並開始你的應用程序作爲

node start.js 

編輯 以上回答是基地babel v5.8.23。對於babel >= v6

使用require hook開始。js as

require('babel-core/register'); 
require("./app.js"); 

此外,轉換默認情況下不啓用。所以你需要安裝一個preset。在這種情況下使用es2015

npm install babel-preset-es2015 

而在根文件夾中使用它在.babelrc文件

{ 
    "presets": ["es2015"] 
} 
+0

在你的例子中_app.js_和_server.js_應該是一樣的東西? – jpierson

+0

如果這不起作用,那麼簡單地恢復正在破壞到先前版本號的依賴關係。就我而言,它是http-master模塊。 – jeevs

+0

require('babel-core/register'); – Foreever

2

我就遇到了這個問題,因爲我手動安裝這些工具的Visual Studio之外。但Visual Studio附帶了現代Web開發工作流中使用的多個開源命令行工具。這裏是你如何能告訴Visual Studio來使用自己手動安裝

進入工具相同的版本 - >選項 - >項目和解決方案 - >外部Web工具

  • 集之前對全球PATH環境變量內部路徑,您可以使用右上方的箭頭更改順序。

  • 首先,找到Node.js的安裝你已經擁有並在命令行中使用。默認情況下,Node.js 0.12.7安裝到「C:\ Program Files \ nodejs」。將此條目添加到node.js目錄的路徑以強制Visual Studio使用該版本
相關問題