Javascript Webpack:ES6语法提供模块生成失败:语法错误:意外令牌
我尝试使用一个固定数据表的示例,并将其与webpack捆绑在一起 我使用的是babel loader和我的代码包,没有任何问题 运行Javascript Webpack:ES6语法提供模块生成失败:语法错误:意外令牌,javascript,webpack,bundle,fixed-data-table,Javascript,Webpack,Bundle,Fixed Data Table,我尝试使用一个固定数据表的示例,并将其与webpack捆绑在一起 我使用的是babel loader和我的代码包,没有任何问题 运行webpack指向一个错误,据我所知,这是ES6语法的一部分(不是ES5)。。。…,例如: render(){ var{sortDir,children,…props}=this.props; …道具是专门的 这是我的网页配置: "use strict"; var webpack = require("webpack"); module.exports = {
webpack
指向一个错误,据我所知,这是ES6语法的一部分(不是ES5)。。。…
,例如:
render(){
var{sortDir,children,…props}=this.props;
…道具是专门的
这是我的网页配置:
"use strict";
var webpack = require("webpack");
module.exports = {
entry: {
app: './app.js',
vendor: ["fixed-data-table","react","react-dom","jquery", "bootstrap", "vis", "chart.js"],
},
output: { path: "./", filename: 'bundle.js' },
plugins: [
new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.js"),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],
module: {
loaders: [
{
test: /.js?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}
]
},
};
presets: ['es2015', 'react', 'stage-0']
我使用的是es2015,作为预设和babel loader加载。当它应该理解和处理ES6语法时,为什么会抛出语法错误
这是我的Package.json。我需要升级一些版本吗
{
"name": "test",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.3.17",
"babel-loader": "^6.2.0",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-runtime": "^6.3.19",
"webpack": "^1.12.9"
},
"dependencies": {
"bootstrap": "^3.3.7",
"chart.js": "^2.4.0",
"fixed-data-table": "^0.6.0",
"jquery": "^3.1.0",
"react": "^0.14.3",
"react-dom": "^0.14.3",
"vis": "^4.17.0"
},
"description": ""
}
我需要巴别塔预设向后兼容ES7
解决者:
npm install babel-preset-stage-0 --save-dev
然后在上述网页配置中添加预设:
"use strict";
var webpack = require("webpack");
module.exports = {
entry: {
app: './app.js',
vendor: ["fixed-data-table","react","react-dom","jquery", "bootstrap", "vis", "chart.js"],
},
output: { path: "./", filename: 'bundle.js' },
plugins: [
new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.js"),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],
module: {
loaders: [
{
test: /.js?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}
]
},
};
presets: ['es2015', 'react', 'stage-0']
这不是ES7的功能吗?真的吗?Facebook在这里有他们的例子;这是基于ES7的吗?它甚至不是ES7或ES8,它仍然是一个实验性的建议。可能想知道Facebook开发者为什么选择使用它。但是谢谢。我解决了它:)