webpack3以上,如何将所有打包好的js文件,压缩至一个js文件?
问题描述
webpack3以上,如何将所有打包好的js文件,压缩至一个js文件?
问题出现的环境背景及自己尝试过哪些方法
webpack.config.js
const path = require('path')
const HTMLPlugin = require('html-webpack-plugin')
const webpack = require('webpack')
const ExtractPlugin = require('extract-text-webpack-plugin')
const isDev = process.env.NODE_ENV === 'development'
const srcRoot = path.resolve(__dirname, 'src');
const config = {
target: 'web',
entry: path.join(__dirname, 'src/main.js'),
output: {
filename: 'pk-skin.min.js',
path: path.join(__dirname, 'dev')
},
resolve: {
alias: {
components: path.resolve(srcRoot, 'components'),
"@": path.resolve(srcRoot),
},
extensions: ['.js', '.vue']
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.jsx$/,
loader: 'babel-loader'
},
{
test: /\.less$/,
loader: 'less-loader'
},
{
test: /\.(gif|jpg|jpeg|png|svg)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 1024,
// name: 'resources/[path][name].[hash:8].[ext]'
}
}
]
}
]
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: isDev ? '"development"' : '"production"'
}
}),
new HTMLPlugin()
]
}
if (isDev) {
config.module.rules.push({
test: /\.styl/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
sourceMap: true,
}
},
'stylus-loader'
]
})
config.devtool = '#cheap-module-eval-source-map'
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
errors: true,
},
hot: true
}
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin()
)
} else {
config.entry = {
app: path.join(__dirname, 'src/main.js'),
vendor: ['vue']
}
config.output.filename = 'pk-skin.min.js'
}
module.exports = config
相关代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Webpack App</title>
</head>
<body>
<script type="text/javascript" src="pk-skin.min.js"></script><script type="text/javascript" src="undefined"></script></body>
</html>
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论