problem description
UglifyJs error (ERROR in 1.2db93f96dd466683d093.chunk.js from UglifyJs Unexpected token: operator (when iview admin project npm run build is packaged (ERROR in 1.2db93f96dd466683d093.chunk.js from UglifyJs Unexpected token: operator (>) [1.2db93f96dd466683d093.chunk.jspur46439Magi 43])
the environmental background of the problems and what methods you have tried
in the packaged file 1.2db93f96dd466683d093.chunk.js > should identify the error, analysis may be because UglifyJs parsing es6 syntax escape problems, on the Internet to find some configuration changes or invalid methods, please help to see what can be solved.
related codes
the packaged file reported an error line
Object.keys(Methods).forEach((methodName) => {
__WEBPACK_IMPORTED_MODULE_0_dom7_dist_dom7_modular__["a" /* $ */].fn[methodName] = Methods[methodName];
});
error details
ERROR in 1.2db93f96dd466683d093.chunk.js from UglifyJs
Unexpected token: operator (>) [1.2db93f96dd466683d093.chunk.js:46439,43]
Child html-webpack-plugin for "..\index.html":
1 asset
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js?minimize!node_modules/autoprefixer-loader/index.js!node_modules/element-ui/lib/theme-chalk/index.css:
Asset Size Chunks Chunk Names
2fad952a20fbbcfd1bf2ebb210dccf7a.woff 6.16 kB [emitted]
6f0a76321d30f3c8120915e57f7bd77e.ttf 11 kB [emitted]
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js?minimize!node_modules/autoprefixer-loader/index.js!node_modules/iview/dist/styles/iview.css:
Asset Size Chunks Chunk Names
2c2ae068be3b089e0a5b59abb1831550.eot 121 kB [emitted]
24712f6c47821394fba7942fbb52c3b2.ttf 189 kB [emitted]
05acfdb568b3df49ad31355b19495d4a.woff 67.9 kB [emitted]
621bd386841f74e0053cb8e67f8a0604.svg 334 kB [emitted] [big]
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! iview-admin@1.3.1 build: `webpack --progress --hide-modules --config build/webpack.prod.config.js`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the iview-admin@1.3.1 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\S\AppData\Roaming\npm-cache\_logs\2018-07-13T02_51_42_530Z-debug.log
webpack.base.config file code
const path = require("path");
const os = require("os");
const webpack = require("webpack");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const HappyPack = require("happypack");
var happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length });
function resolve (dir) {
return path.join(__dirname, dir);
}
module.exports = {
entry: {
main: "@/main",
"vender-base": "@/vendors/vendors.base.js",
"vender-exten": "@/vendors/vendors.exten.js"
},
output: {
path: path.resolve(__dirname, "../dist/dist")
},
module: {
rules: [
{
test: /\.vue$/,
loader: "vue-loader",
options: {
loaders: {
css: "vue-style-loader!css-loader",
less: "vue-style-loader!css-loader!less-loader"
},
postLoaders: {
html: "babel-loader"
}
}
},
{
test: /iview\/.*?js$/,
loader: "happypack/loader?id=happybabel",
exclude: /node_modules/
},
{
test: /\.js$/,
loader: "happypack/loader?id=happybabel",
exclude: /node_modules/
},
{
test: /\.js[x]?$/,
include: [resolve("src")],
exclude: /node_modules/,
loader: "happypack/loader?id=happybabel"
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
use: ["css-loader?minimize", "autoprefixer-loader"],
fallback: "style-loader"
})
},
{
test: /\.less$/,
use: ExtractTextPlugin.extract({
use: ["css-loader?minimize","autoprefixer-loader", "less-loader"],
fallback: "style-loader"
}),
},
{
test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
loader: "url-loader?limit=1024"
},
{
test: /\.(html|tpl)$/,
loader: "html-loader"
}
]
},
plugins: [
new HappyPack({
id: "happybabel",
loaders: ["babel-loader"],
threadPool: happyThreadPool,
verbose: true
}),
new webpack.ProvidePlugin({
jQuery: "jquery",
$: "jquery"
})
],
resolve: {
extensions: [".js", ".vue"],
alias: {
"vue": "vue/dist/vue.esm.js",
"@": resolve("../src"),
}
}
};
webpack.prod.config file code
const webpack = require("webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const CopyWebpackPlugin = require("copy-webpack-plugin");
const cleanWebpackPlugin = require("clean-webpack-plugin");
const UglifyJsParallelPlugin = require("webpack-uglify-parallel");
const merge = require("webpack-merge");
const webpackBaseConfig = require("./webpack.base.config.js");
const os = require("os");
const fs = require("fs");
const path = require("path");
const package = require("../package.json");
fs.open("./build/env.js", "w", function(err, fd) {
const buf = "export default "production";";
fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {});
});
module.exports = merge(webpackBaseConfig, {
output: {
publicPath: "https://screen.lotusdata.com/dist/", // https://iv...admin
filename: "[name].[hash].js",
chunkFilename: "[name].[hash].chunk.js"
},
plugins: [
new cleanWebpackPlugin(["dist/*"], {
root: path.resolve(__dirname, "../")
}),
new ExtractTextPlugin({
filename: "[name].[hash].css",
allChunks: true
}),
new webpack.optimize.CommonsChunkPlugin({
// name: "vendors",
// filename: "vendors.[hash].js"
name: ["vender-exten", "vender-base"],
minChunks: Infinity
}),
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: ""production""
}
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
// new UglifyJsParallelPlugin({
// workers: os.cpus().length,
// mangle: true,
// compressor: {
// warnings: false,
// drop_console: true,
// drop_debugger: true
// }
// }),
new CopyWebpackPlugin([
{
from: "td_icon.ico"
},
{
from: "src/styles/fonts",
to: "fonts"
},
{
from: "src/views/main-components/theme-switch/theme"
},
{
from: "src/views/my-components/text-editor/tinymce"
}
], {
ignore: [
"text-editor.vue"
]
}),
new HtmlWebpackPlugin({
title: " v" + package.version,
favicon: "./td_icon.ico",
filename: "../index.html",
template: "!!ejs-loader!./src/template/index.ejs",
inject: false
})
]
});
.babelrc file code
{
"presets": ["stage-3", "env"],
"plugins": ["transform-runtime", "syntax-dynamic-import"],
"comments": false
}