我开始学习webpack。我创建了一个简单的配置文件:
const path = require('path');
const webpack = require('webpack');
module.exports = {
context: __dirname,
entry: './src/index.js',
output: {
filename: 'bundle.js',
publicPath: '/',
path: path.resolve(__dirname, 'dist')
},
devtool: 'inline-source-map',
devServer: {
contentBase: path.join(__dirname, 'dist'),
hot: true
},
plugins: [new webpack.HotModuleReplacementPlugin()],
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
include: path.join(__dirname, 'src'),
use: ['babel-loader']
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
{
test: /\.(png|svg|jpg|gif)$/,
use: ['file-loader']
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/,
use: ['file-loader']
}
]
}
};
然后我用一个简单的console.log('hello')创建了src / index.js。
在package.json中我把它: “start”:“webpack-dev-server --config webpack.config.local.js -p”,
当我在终端中运行“npm start”时,我得到了这个奇怪的错误:
来自UglifyJs的bundle.js中的错误 意外的令牌:name(urlParts)[(webpack)-dev-server / client?http:/ localhost:8080:24,0] [bundle.js:4026,4]
bundle.js看起来很奇怪,因为我没有写完所有这些代码。我用谷歌搜索但找不到解决方案,你知道我做错了什么吗?谢谢!
编辑:我在.babelrc中添加了这个,但仍然是同样的错误:
{"presets": ["react", "stage-2", "es2015"]}
答案 0 :(得分:3)
从你的npm脚本中删除-p,这就是缩小代码的原因。 您似乎正在使用webpack-dev-server和config.local文件,因此我认为这仅适用于本地开发,在这种情况下,不需要来自webpack的-p。
关于bundle.js的大小,我看到你排除了node_modules文件夹,所以对我来说似乎没问题。尝试在package.json中添加一个新脚本,如下所示:
"build": ""webpack --config webpack.config.local.js"
并查看将要创建的文件,以便您可以更好地了解正在发生的事情。 希望这有帮助,欢呼!