2016-06-01 8 views
0

でファイルをtranspiledバベルを実行することはできません私はちょうどtranspilingプロセスapp.jsをテストするためにES6のインポートを使用するように変更され、非常に基本的な特急定型コードです:.babelrcはここノード

import "babel-polyfill"; 
import * as express from "express" 
var app = express(); 


app.get('/', function (req, res) { 
    res.send('Hello World!'); 
}); 

app.listen(3000, function() { 
    console.log('Examdple app listening on port 3000!'); 
}); 

"use strict"; 

require("babel-polyfill"); 

var _express = require("express"); 

var express = _interopRequireWildcard(_express); 

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 

var app = express(); 

app.get('/', function (req, res) { 
    res.send('Hello World!'); 
}); 

app.listen(3000, function() { 
    console.log('Examdple app listening on port 3000!'); 
}); 

//# sourceMappingURL=app-compiled.js.map 

は、今は/ usr/local/binに/ノードアプリ - コを実行しようとしている:transpiledコードアプリ-compiled.js結果として生じる

{ 
    "presets": [ 
    "es2015" 
    ], 
    "plugins": ["transform-runtime", 
     "transform-es2015-classes"] 
    } 

mpiled.js:私はそれをカプセル化することなく、同じ 'インポート' というエラーですポリフィルを使用しないとき

var app = express(); 
     ^
TypeError: express is not a function 

または/ usr/local/bin /ノードは、また

/Users/Documents/Apps_And_Sites/Js_Apps/projectname/app.js:1 
(function (exports, require, module, __filename, __dirname) { import "babel-polyfill"; 
                   ^^^^^^ 

SyntaxError: Unexpected reserved word 

をapp.js関数。

これは、package.jsonで依存関係を助けている場合:

プログラム:node_modules /バベル-CLI/binに/私のwebstorm IDEで

"devDependencies": { 
    "babel-cli": "^6.9.0", 
    "babel-core": "^6.9.1", 
    "babel-eslint": "^6.0.4", 
    "babel-plugin-syntax-flow": "^6.8.0", 
    "babel-plugin-transform-class-properties": "^6.9.1", 
    "babel-plugin-transform-flow-strip-types": "^6.8.0", 
    "babel-plugin-transform-runtime": "^6.9.0", 
    "babel-polyfill": "^6.9.1", 
    "babel-preset-es2015": "^6.9.0", 
    "eslint-plugin-flowtype": "^2.2.7", 
    "flow-bin": "^0.26.0" 
    }, 
    "dependencies": { 
    "babel-runtime": "^6.9.2", 
    "express": "^4.13.4" 
    } 
} 

を、私は、これらのパラメータを設定バベルを持っていますbabel.js

引数:--source-マップ--out-ファイル $ FileNameWithoutExtension $ -compiled.js $のFilePath $

リフレッシュする

出力パス: $ FileNameWithoutExtension $ -compiled.js:$ FileNameWithoutExtension $ -compiled.js.map

はなぜバベルtranspiledコードを実行するノードではないですか?

答えて

3

あなたがimportは、あなたの使用のための構文的には正しいが間違っている、それだけでする必要があります:彼らはそれを変数に割り当てるとインポート「バベルを使用しないことを書くため

import express from 'express'; 
+0

おかげで、どのように私はポリフィルをインポートする必要があります-polyfill ";エラーの原因となるのでしょうか? –

+1

'import 'babel-polyfill';'はrequire( 'babel-polyfill');と同じです。これはどのように使うべきかです。 –

関連する問題