我开始学习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"时,我会遇到这个怪异的错误:
bundle.js中的错误意外令牌:名称(urlparts)[(WebPack)-dev-server/client?http:/localhost:8080:24,0] [bundle.js:4026,4]
bundle.js看起来很奇怪,因为我没有编写所有这些代码。我谷歌搜索但找不到解决方案,您知道我在做什么错吗?谢谢!
编辑:我在.babelrc中添加了此错误,但仍然相同的错误:
{"presets": ["react", "stage-2", "es2015"]}
从NPM脚本中删除-P,这就是为什么要删除代码。看来您正在使用webpack-dev-server和config.local.local文件,所以我认为这仅适用于本地开发,在这种情况下,webpack中的-p不需要。
。关于捆绑包的大小,我看到您不包括node_modules文件夹,所以对我来说似乎还可以。尝试在您的软件包中添加新脚本。
"build": ""webpack --config webpack.config.local.js"
并查看将创建的文件,以便您更好地了解正在发生的事情。希望这会有所帮助,欢呼!