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)的主要内容,如果未能解决你的问题,请参考以下文章

Gulp 和 webpack 的 UglifyJs 错误

UglifyJs意外令牌错误

从 UglifyJS 创建块时意外的标记 punc «(»,预期的 punc

webpack打包后不能调用,改用uglifyjs打包压缩

用terser-webpack-plugin替换掉uglifyjs-webpack-plugin解决uglifyjs不支持es6语法问题

在webpack用插件uglifyjs-webpack-plugin压缩ES6语法