欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

webpack-搭建Vue

程序员文章站 2022-06-25 11:57:00
webpack-搭建Vuewebpack搭建vue安装安装babel设置规则.babelrc文件入口文件配置vue-loader插件入口文件main.js的内容使用-组件组件内容多文件打包入口---entry出口---output插件配置---pluginswebpack搭建vue安装vue vue必须vue-loader 处理.vue文件vue-style.loader 处理vue style样式vue-template-compiler 编译模板文件vue-hot-reload-api...

webpack搭建vue

安装

  • vue vue必须
  • vue-loader 处理.vue文件
  • vue-style.loader 处理vue style样式
  • vue-template-compiler 编译模板文件
  • vue-hot-reload-api热更新

安装babel

  • babel 是新一代 JavaScript 语法的编译器 。

  • 可以让我们放心地使用大部分 JavaScript 新的标准语法,代码会通过编译,生成兼容绝大多数主流浏览器的代码 。

  • 在项目工程脚手架中,一般会使用 .babelrc 文件,来配置一些基本参数,配合 webpack 进行打包压缩 。

  • @babel es6转es5

  • babel-loader@7 处理babel指定版本

  • @babel/core 核心

  • @babel/plugin-transform-runtime 按需加载

  • @babel/preset-env 运行环境

  • babel-runtime

  • @babel-polyfill es6转es5

设置规则

module : {
	// 规则
	rules : [
		// 匹配vue
		{
			test: /\.vue$/,
			loader: 'vue-loader',
			options : {
				loaders : {
					css : [minCssExtractPlugin.loader,'style-loader', 'css-loader'],
					less : [minCssExtractPlugin,"css-loader","less-loader"]
				}
			}
		},
	]
	}

.babelrc文件

{
	"presets" : ["@babel/preset-env","@babel/preset-react"],
}

入口文件

// 入口文件index.js
	entry : path.resolve(__dirname, '../src/main.js'),

配置vue-loader插件

// 获取vueloader的Plugin
const VueLoaderPlugin = require('vue-loader/lib/plugin');
// 使用
new VueLoaderPlugin();

入口文件main.js的内容

import Vue from 'vue'

import App from './App.vue'

new Vue({
	el : "#app",
	render : h => h(App)
})

使用-组件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title><% htmlWebpackPlugin.options.title %></title>
	</head>
	<body>
		<div id="app">
			
		</div>
	</body>
</html>

组件内容

<template>
	<div>
		<h1>你好vue</h1>
		<p>{{msg}}</p>
	</div>
</template>

<script>
	export default {
		data(){return {msg:"你好前端"}}
	}
</script>

<style>
</style>

多文件打包

  • 使得vue-react共存

入口—entry

  • 入口可以是多个入口
entry : {
	vue : path.resolve(__dirname,'../src/main.js'),
	react : path.resolve(__dirname,'../src/index.js')
}

出口—output

  • 出口,对应出口的文件的名字
output:{
	// 如果运行可以注释
	publicPath:'./' 
	// 配置根目录 默认是/ 可以配成相对目录./
	filename:"[name]-[hash:7].js",
	path:path.resolve(__dirname, '../dist') 
}, 

插件配置—plugins

  • 可以设置多个html处理插件,设置对应模板的路径
plugins:[
		 new htmlWebpackPlugin({
			 // 标题
			 title: 'vue,我的第一个webpack',
			 // 可以把css提取出来,使用link引用
			 minify:true,
			 // webpack打包时候使用分支模块,默认是main,
			 chunks: ['vue'],
			 // 组件地址
			 template:path.resolve(__dirname, '../public/index.html')
		 }),
		 new htmlWebpackPlugin({
			 title: 'react,我的第一个webpack',
			 minify:true,
			 chunks: ['react'],
			 template:path.resolve(__dirname, '../public/react.html'),
			  filename: 'react.html'
		 }),
		 //  创建一个html处理插件并指定模板文件的位置
		 new minCssExtractPlugin({
			 filename: '[name]-[hash:7].css',
			 chunkFilename: "vue-[name]-[hash].css"
		 }),
}

本文地址:https://blog.csdn.net/qq_34182705/article/details/107487911