下面我来详细讲解“从零开始用webpack构建一个vue3.0项目工程的实现”的完整攻略。
1. 安装webpack和vue-cli
首先需要安装Node.js和npm,然后可以使用npm安装webpack和vue-cli。
在终端中执行以下命令:
npm install webpack webapck-cli -g
npm install -g @vue/cli
以上命令分别安装了webpack、webpack-cli和vue-cli,其中-vue-cli版本为4.5.13。
2. 创建vue3项目
在终端中进入项目根目录,然后执行以下命令:
vue create <project-name>
执行完上述命令后,会出现一个向导式的命令行界面,需要根据向导中的提示进行操作,包括选择实现增强的依赖项和css预处理器。不同的需求会有不同的选择。
在这里,我们选择vue3+TypeScript+css预处理器Sass。
3. 配置webpack
在vue3项目创建完成之后,我们就可以开始配置webpack了。
在根目录下创建vue.config.js文件,在其中添加以下内容:
module.exports = {
configureWebpack: {
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.tsx?$/,
loader: 'ts-loader',
options: { appendTsSuffixTo: [/\.vue$/] }
},
{
test: /\.s(a|c)ss$/,
use: ['vue-style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.css$/,
use: ['vue-style-loader', 'css-loader']
}
]
},
resolve: {
extensions: ['.js', '.vue', '.json', '.ts'],
alias: {
vue: 'vue/dist/vue.esm-bundler.js',
'@': path.resolve(__dirname, 'src')
}
}
}
};
以上代码实现了如下功能:
- 加载.vue文件,并使用vue-loader解析该文件;
- 加载.tsx或.ts文件,并使用ts-loader解析其类型;
- 加载.css或.scss文件,并使用vue-style-loader、css-loader和sass-loader处理样式。
- 解析别名和扩展名。
4. 配置webpack Dev Server
在vue3项目中,可以使用Vue CLI内置的Webpack Dev Server来启动本地开发服务器。在进行开发时,需要自动地刷新页面。
为了配置本地服务器,需要添加以下代码到vue.config.js文件中:
module.exports = {
devServer: {
open: true,
port: 8080,
hot: true,
progress: true,
historyApiFallback: true
}
};
以上代码的作用:
- 自动打开浏览器;
- 监听8080端口;
- 开启热模块替换;
- 显示打包进度;
- 开启HTML History模式。
示例展示
下面我们以示例的形式介绍如何实现从零开始用webpack构建一个vue3.0项目工程。
示例一:如何在vue3中使用Bootstrap
- 安装Bootstrap
在终端中执行以下命令:
npm install bootstrap jquery popper.js
- 引入Bootstrap
在src目录下的main.ts文件中,添加以下代码:
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap';
import $ from 'jquery';
import Popper from 'popper.js';
declare global {
interface Window {
$: any;
jQuery: any;
Popper: any;
}
}
window.$ = $;
window.jQuery = $;
window.Popper = Popper;
createApp(App).mount('#app');
在上例中,首先需要引入Bootstrap的CSS文件和JS文件。
然后,将$和Popper设置为全局变量,并将其挂载到window对象上。
最后,创建vue3应用。
- 在.vue文件中使用Bootstrap
在需要使用Bootstrap样式的vue文件中,添加以下内容:
<template>
<div>
<button class="btn btn-primary">Hello, Bootstrap</button>
</div>
</template>
上例中,我们使用了Bootstrap样式中的btn和btn-primary类。
示例二:使用vue-router进行路由管理
我们需要实现一个基本的路由进行页面跳转,可以使用vue-router进行路由管理。
- 安装vue-router
在终端中执行以下命令:
npm install vue-router
- 创建路由文件
在src目录下,创建一个名为router.js的文件,添加以下代码:
import { createRouter, createWebHistory } from 'vue-router';
const Home = () => import('./views/Home.vue');
const About = () => import('./views/About.vue');
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: About
}
];
const router = createRouter({
history: createWebHistory(),
routes
});
export default router;
在代码中,我们首先引入createRouter和createWebHistory函数。
然后,分别定义了两个路由组件:Home和About。
接下来,声明路由路径和组件的匹配列表,通过路由跳转匹配实现页面跳转。
最后,使用createRouter函数创建路由实例,并使用createWebHistory函数定义路由历史。
导出路由实例。
- 引入路由
在main.ts文件中,引入路由实例:
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
createApp(App)
.use(router)
.mount('#app');
此代码中,我们使用use方法来挂载路由实例。
- 创建路由组件
在src/views目录下,创建Home.vue和About.vue文件。
在Home.vue文件中,添加如下模板:
<template>
<div>
<h1>Home</h1>
</div>
</template>
在About.vue文件中,添加如下模板:
<template>
<div>
<h1>About</h1>
</div>
</template>
当访问127.0.0.1:8080时,会默认打开Home组件中的内容,访问127.0.0.1:8080/about时,会跳转到About组件。
以上就是一个基本的vue-router使用示例。
希望这些示例能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从零开始用webpack构建一个vue3.0项目工程的实现 - Python技术站