webpack错误-来自UglifyJs的bundle.js中的错误意外令牌:名称(urlParts)
Posted
技术标签:
【中文标题】webpack错误-来自UglifyJs的bundle.js中的错误意外令牌:名称(urlParts)【英文标题】:webpack error -ERROR in bundle.js from UglifyJs Unexpected token: name (urlParts) 【发布时间】:2018-03-03 08:09:05 【问题描述】:我开始学习 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 我把这个: "开始": "webpack-dev-server --config webpack.config.local.js -p",
当我在终端中运行“npm start”时,我收到了这个奇怪的错误:
来自 UglifyJs 的 bundle.js 中的错误 意外令牌:名称 (urlParts) [(webpack)-dev-server/client?http:/localhost:8080:24,0][bundle.js:4026,4]
bundle.js 看起来很奇怪,因为我还没有编写所有这些代码。我用谷歌搜索但找不到解决方案,你知道我做错了什么吗?谢谢!
编辑:我在 .babelrc 中添加了这个但仍然是同样的错误:
"presets": ["react", "stage-2", "es2015"]
【问题讨论】:
你在使用UglifyJS
吗?你运行的是什么版本的 webpack?
"webpack": "^3.6.0", "webpack-dev-server": "^2.8.2",我没有使用 uglify。这个错误让我发疯,我找不到解决方案。它说我在捆绑包中有 4000 行代码,而在我的索引中我只放了一个 console.log
"start": "webpack-dev-server --config webpack.config.local.js -p"
您是否尝试过将该行更改为:"start": "webpack-dev-server --config webpack.config.local.js"
?
Webpack 正在为生产而构建,这就是 -p
标志的含义。从 Webpack v2+ 开始,UglifyJS 内置在其中。
【参考方案1】:
从你的 npm 脚本中删除 -p ,这就是缩小代码的原因。 看来您正在使用 webpack-dev-server 和 config.local 文件,所以我认为这仅用于本地开发,在这种情况下,不需要来自 webpack 的 -p。
关于 bundle.js 的大小,我看到您不包括 node_modules 文件夹,所以对我来说似乎没问题。尝试在 package.json 中添加一个新脚本,如下所示:
"build": ""webpack --config webpack.config.local.js"
并查看将要创建的文件,以便您更好地了解正在发生的事情。 希望对您有所帮助,干杯!
【讨论】:
是的,解决了这个问题,没有 -p 它不会缩小代码,谢谢以上是关于webpack错误-来自UglifyJs的bundle.js中的错误意外令牌:名称(urlParts)的主要内容,如果未能解决你的问题,请参考以下文章
从 UglifyJS 创建块时意外的标记 punc «(»,预期的 punc
用terser-webpack-plugin替换掉uglifyjs-webpack-plugin解决uglifyjs不支持es6语法问题