Javascript 将ES7 async/await与节点、网页包和babel加载程序一起使用时出错
我正在尝试在服务器上使用javascript ES7语法,使用node.js和webpack和babel loader(es2015+stage-0预设)。我已经让它与babel节点一起工作,但是当我运行webpack时,我在async关键字处得到以下错误(9:22在async关键字之后): 我已经把代码放在github上了,关于如何让它工作有什么想法吗 以下是src/server.js中的相关代码段:Javascript 将ES7 async/await与节点、网页包和babel加载程序一起使用时出错,javascript,node.js,webpack,babeljs,ecmascript-2016,Javascript,Node.js,Webpack,Babeljs,Ecmascript 2016,我正在尝试在服务器上使用javascript ES7语法,使用node.js和webpack和babel loader(es2015+stage-0预设)。我已经让它与babel节点一起工作,但是当我运行webpack时,我在async关键字处得到以下错误(9:22在async关键字之后): 我已经把代码放在github上了,关于如何让它工作有什么想法吗 以下是src/server.js中的相关代码段: import express from 'express'; import http fro
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);
});
.LRC:
{
"presets": [
"es2015",
"node5",
"stage-0"
],
"plugins": [
"transform-runtime"
]
}
和webpack.config.js:
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'
}
]
}
};
我在这里看到了一个类似的问题,但它有一个不同的错误消息,并在babel:master中修复:
您的src路径不正确。您不应该(像从不:)使用字符串连接来连接路径
{
test: /\.jsx?$/,
include: path.join(__dirname, 'src'),
loader: 'babel-loader'
}
顺便说一句,这将解决解析问题,但您仍然需要通过添加相应的扩展名来解析部分并使用json加载程序来处理.json
文件加载
{ test: /\.json$/, loader: 'json-loader' }
此外,您还需要处理丢失的模块警告。例如fs
和net
因此,我建议您使用预编译服务器代码
babel src --out-dir dist
babel src --out-dir dist