2016-06-28 9 views
3

webpackとbabel-loader(es2015 + stage-0プリセット)でnode.jsを使用してサーバーでJavascript ES7構文を使用しようとしています。私はそれがバベル・ノードで動作するように得ているが、私はWebPACKのを実行すると、私は(9時22分には非同期キーワードの後で)非同期キーワードで次のエラーを取得:ノード、webpack、およびbabel-loaderでES7 async/awaitを使用しているエラー

ERROR in ./src/server.js Module parse failed: C:\dev\node-async-sample\src\server.js 
Unexpected token (9:22) You may need an appropriate loader to handle this file type. 
SyntaxError: Unexpected token (9:22) 

私は上のコードを入れていますgithubでhttps://github.com/qubitron/node-async-sample、どのようにこれを動作させるための任意のアイデアですか?私が見た

module.exports = { 
    entry: [ 
    'babel-polyfill', 
    './src/server.js' 
    ], 
    output: { 
    path: __dirname + '/dist', 
    filename: 'server_bundle.js' 
    }, 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     include: __dirname + '/src', 
     loader: 'babel-loader' 
     } 
    ] 
    } 
}; 

import express from 'express'; 
import http from 'request-promise'; 

let server = express(); 

server.get('/', async function(request, response) { 
    let result = await http('http://www.google.com'); 
    response.send(result); 
}); 

.babelrc:

{ 
    "presets": [ 
    "es2015", 
    "node5", 
    "stage-0" 
    ], 
    "plugins": [ 
    "transform-runtime" 
    ] 
} 

とwebpack.config.jsここ

はSRC/server.jsから関連の抜粋ですここでも同様の問題がありますが、エラーメッセージが異なり、バーベルで修正されました。master: ES7 async await functions with babel-loader not working

答えて

1

srcパスが正しくありませんでした。あなたは決して(のように) :)のように決して文字列連結を使用してpathesに参加するべきではありませんpath.joinです。

{ 
    test: /\.jsx?$/, 
    include: path.join(__dirname, 'src'), 
    loader: 'babel-loader' 
} 

ところで、あなたが不足しているモジュールを扱う必要がありますこれは、問題を解析し解決しますが、あなたはまだつもり必要部分を解決するための拡張機能に対応し、またjson-loader

{ test: /\.json$/, loader: 'json-loader' } 

を使用して追加することにより、.jsonファイルのロードを処理するために、警告。例えば、fsおよびnet

したがって、babel-cliを使用してサーバーコードをプリコンパイルすることをお勧めします。

babel src --out-dir dist 
関連する問題