webpack+vue搭建后续,生成html,css文件剥离,清除多余文件

本文介绍了如何使用webpack+vue搭建项目,包括使用html-webpack-plugin生成HTML,通过extract-text-webpack-plugin剥离CSS文件,以及利用clean-webpack-plugin删除多余文件,确保每次编译仅保留最新版本的资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、安装html-webpack-plugin

cnpm install --save-dev html-webpack-plugin

 

将原来的index.html改成index.tmpl.html,并移除里面的script标签。

webpack.config.js引入并配置

const htmlWebpackPlugin = require('html-webpack-plugin');

plugins: [
        new htmlWebpackPlugin({
            filename: 'index.html',
            template: 'index.tmpl.html',
			minify: {
				removeAttributeQuotes: true // 移除属性的引号
			}
        })
    ]

 

执行webpack --mode development,dits目录下就生成了编译好的index.html文件。

顺便output选项在原来基础上加上hash或chunkhash,推荐chunkhash,用来清缓存

output: {
    path: __dirname + "/dist",//打包后的文件存放的地方
    filename: "bundle-[chunkhash].js",//打包后输出文件的文件名
	publicPath: 'dist/'
  },

 

 

2、安装extract-text-webpack-plugin

cnpm install extract-text-webpack-plugin@next

因为与webpack4的兼容性问题,后面得加上@next,或者推荐使用mini-css-extract-plugin,但没有找到从vue文件剥离css的配置,暂时还使用老的插件

针对vue文件进行配置

const ExtractTextPlugin = require('extract-text-webpack-plugin');

          {
   				test: /\.vue$/, 
				loader: 'vue-loader',
				options: {
                    loaders: {
                        css: ExtractTextPlugin.extract({
                            use: ['css-loader'],
                            fallback: 'vue-style-loader' 
                        })
                    }
				}	
			}

new ExtractTextPlugin('[name]-[chunkhash].css')

执行webpack --mode development,dits目录下就生成了剥离出来的css文件

3、使用了hash,每次编译都会生成不同的文件,为了删除多余的文件,引入clean-webpack-plugin插件

cnpm install --save-dev clean-webpack-plugin
const CleanWebpackPlugin = require("clean-webpack-plugin");

new CleanWebpackPlugin('dist/*.*', {
			root: __dirname,
			verbose: true,
			dry: false
		})

执行webpack --mode development,dits目录下之前生成的文件已删除,只保留当前版本的文件

Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具,可以将多个模块打包成一个或多个静态资源文件Vue 是一个流行的 JavaScript 框架,用于构建用户界面。 在将 Vue 项目打包时,可以使用 Webpack生成公共的配置文件,以便在不同的环境中共享和重复使用。 首先,可以创建一个名为 `webpack.base.config.js` 的公共配置文件。该文件会包含一些通用的配置,例如入口文件、输出路径、加载器、插件等。通常,会将所有环境共有的配置项放在这个文件中。例如: ```javascript module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', }, // 其他加载器规则... ], }, plugins: [ new VueLoaderPlugin(), // 其他插件... ], }; ``` 然后,在不同的环境配置文件(如 `webpack.dev.config.js`、`webpack.prod.config.js` 等)中,可以通过引入公共配置文件并进行合并来继承公共的配置。例如: ```javascript const merge = require('webpack-merge'); const baseConfig = require('./webpack.base.config.js'); module.exports = merge(baseConfig, { // 为开发环境或生产环境添加额外的配置项 }); ``` 这样,可以在不同的环境中共享公共配置,减少重复工作,并且方便管理和维护项目。 最后,可以使用命令行或配置文件来指定要使用的环境配置文件,以便在打包时根据不同的环境生成不同的配置。 通过使用 Webpack 生成公共配置文件,可以更好地组织和管理 Vue 项目的打包配置,提高开发效率,并且方便进行项目的扩展和维护。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值