目录
前言
官方已经存在Vue3.x 脚手架,完全没有必要使用手动搭建,当然这里手动搭建只是加深对技术的理解,再使用其基础上,了解部分背后原理,这样才可以在具体的业务逻辑中活灵活现的运用其知识点。
第一步 : 初始化package.json
npm init -y
第二步 : 安装 webpack
npm install webpack webpack-cli -D
注意:
第三步: 初始化目录与文件
module.exports = {
mode: "development",// 环境模式
entry: path.resolve(__dirname,'../src/main.js'),// 打包入口
output: {
path: path.resolve(__dirname,'../dist'), // 打包出口
filename: "js/[name].js"// 打包完的静态资源文件名
}
}
// src/main.js
console.log(`hello the world`)
const testVue3 = `test Vue3`
console.log(testVue3)
webpack --config ./script/webpack.config.js
第一步 : 安装依赖
npm install @babel/core babel-loader @babel/preset-env -D
第二步 : 修改webpack.config.js 配置
const path = require('path');
module.exports = {
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,// 不编译
use: {
loader: 'babel-loader',
options: {
cacheDirectory: true
}
}
}
]
}
}
第三步 在根目录创建babel.config.js
module.exports = {
presets: [
["@babel/preset-env", {
"targets": {
"browsers": ["last 2 chrome version"]
}
}]
]
}
第一步 安装依赖
npm i style-loader css-loader less less-loader -D
第二步 配置webpack.config.js
const path = require('path');
module.exports = {
module: {
rules: [
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
}
]
}
}
第一步 安装依赖
npm i html-webpack-plugin -D
第二步 配置webpack,config.js
new HtmlWebpackPlugin({
template: path.resolve(__dirname,'../index.html'),// 要使用的html模板
filename: "index.html",//打包后输出的文件名
title:'手动搭建Vue3开发环境'
}),
第三步 在根目录创建index.html
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%=htmlWebpackPlugin.options.title %>title>
head>
<body>
<div id="root">div>
body>
html>
第一步 安装依赖
npm i webpack-dev-server -D
第二步 配置webpack.config.js 配置
module.exports = {
//...
devServer: {
port:8080,
static: path.resolve(__dirname,'../dist'),
open:true
}
//...
}
第一步 安装依赖
npm i clean-webpack-plugin -D
第二步 配置webpack.cofnig.js
const {CleanWebpackPlugin} = require("clean-webpack-plugin");
module.exports = {
plugins: [
// 每次打包都会清理掉旧的dist文件
new CleanWebpackPlugin()
]
}
第一步: 安装依赖
npm i @babel/preset-typescript -D
第二步: 老规矩 配置webpack.config.js 文件
module.epxorts = {
module: {
rules: [
{
test: /\.(t|j)s$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
cacheDirectory: true,
},
},
},
],
},
};
第三步: 在babel.config.js 文件中添加
module.exports = {
presets: ["@babel/preset-env",["@babel/preset-typescript"{
//支持所有文件扩展名
allExtensions: true
},
],
],
};
第四步 将main.js 改为 main.ts
第一步: 安装依赖
npm i vue@next -S
第二步: 安装vue-loader
npm i vue-loader -D
第三步: 在src文件夹下新建App.vue
<template>
<div>“hello the world”</div>
<div @click="testFunction">{{testConst}}</div>
</template>
<script>
import {reactive,toRefs} from "vue"
export default{
setup(){
const data = reactive({
testConst: 1
});
const testFunction = () => {
console.log(`哈哈哈`)
}
return {
...toRefs(data),
testFunction
}
}
}
</script>
<style scoped>
div{
color: yellowgreen;
}
</style>
第四步: 修改main.ts
// Vue3.x 引入vue的形式
import {createApp} from "vue";
// 引入App页面组件
import App from "./App.vue";
// 通过createApp 初始化app
const app = createApp(App);
// 将页面挂载到root节点
app.mount("#root");
第五步: 配置webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.vue$/,
use: "vue-loader",
},
],
},
};