模块构build失败:SyntaxError:在JSON位置0的意外的标记'
我在这里有一个webpackconfiguration,我想添加一个答案moment-timezone
我应该如何使用webpack的瞬时时区? ,导致我到Webpack – 错误:无法定义“查询”和多个加载器列表中的加载器
var webpack = require('webpack'); module.exports = { //devtool: 'inline-source-map', entry: [ 'webpack-hot-middleware/client', './client/main.js' ], output: { path: require("path").resolve('./assets'), filename: 'bundle.js', publicPath: '/' }, plugins: [ new webpack.HotModuleReplacementPlugin() ], externals: { jquery: 'var jQuery' }, module: { loaders: [ { test: /\.jsx?$/, loaders: ['json-loader', 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre'], exclude: /node_modules/ } ] } };
我目前的尝试是以上。
你告诉webpack把你的JavaScript文件传给json-loader
。 但是因为JavaScript文件不是有效的JSON,所以会出现第一个字符已经有一个意外标记的错误。
{ test: /\.jsx?$/, loaders: ['json-loader', 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre'], exclude: /node_modules/ }
所以你需要从.jsx?
删除json-loader
.jsx?
组态。 另外json-loader
在webpack 2中不再需要,JSON文件应该可以直接使用。
您可以将module
部分更新为:
module: { rules: [ { test: /\.jsx?$/, loader: 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre', exclude: /node_modules/ } ] }
但是,如果它不应该工作,你将不得不添加json-loader
以.json
结尾的文件:
{ test: /\.json$/, loader: 'json-loader' }