vue2.0怎样开发多页面
发布网友
发布时间:2023-08-01 21:08
我来回答
共1个回答
热心网友
时间:2023-09-15 09:20
这次给大家带来vue2.0怎样开发多页面,vue2.0开发多页面的注意事项有哪些,下面就是实战案例,一起来看一下。
我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是。因为vue在工程化开发的时候很依赖webpack,而webpack是将所有的资源整合到一块,弄成一个单页面。但是vue不止可以做单页面,它还可以做多页面,如果要做多页面的话需要对他的依赖,也就是webpack就是重新配置才可以。本文将详细讲webpack的配置。
vue的开发有两种,一种是直接的在script标签里引入vue.js文件即可,这样子引入的话个人感觉做小型的多页面会比较舒坦,一旦做大型一点的项目,还是离不开webpack。所以另一种方法也就是基于webpack和vue-cli的工程化开发。下面详解步骤。
先声明,如果用vue进行工程化开发,首先要有node.js,然后再下一个npm,不过一般新版的node都会有npm所以可以不用弄。指令是在命令行里输入。首先第一步就是生成一个vue项目,用指令:
vue init webpack test
博主本人声明的文件名为test,下载好后一路enter,之后便生成了一个vue项目,但是这个vue项目还没有一些相关的依赖,这个时候需要进入到该文件夹里面,输入指令:
npm install
如果网速不好,则用cnpm install,效果一样。略等几分钟后整个依赖便已经下完,之后输入指令:
npm run dev
则会自动打开一个界面,如果报错不能打开网页的话只有一种原因,那就端口占用,这个时候需要到/config/index.js目录下改端口就行。
当一个vue项目完成好所有的配置后,接下来就是我们的重点了,首先我们新新建几个html文件,博主我新建了一个one.html和two.html,及其与之对应的vue文件和js文件,文件目录如下:
弄好之后我们进入buildwebpack.base.conf.js目录下,在mole.exports的域里,找到entry,在那里配置添加多个入口:
entry: {
app: './src/main.js',
one: './src/js/one.js',
two: './src/js/two.js'
},
注意,紫色部分的变量名要起好,因为后面要用到,以防忘记。
接下来就是对开发环境run dev里进行修改,打开buildwebpack.dev.conf.js文件,在mole.exports那里找到plugins,下面写法如下:
plugins: [
new webpack.DefinePlugin({
'process.env': config.dev.env
}),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.HotMoleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true,
chunks: ['app']
}),
new HtmlWebpackPlugin({
filename: 'one.html',
template: 'one.html',
inject: true,
chunks: ['one']
}),
new HtmlWebpackPlugin({
filename: 'two.html',
template: 'two.html',
inject: true,
chunks: ['two']
}),
new FriendlyErrorsPlugin()
]
在chunks那里的app指的是webpack.base.conf.js的entry那里与之对应的变量名。chunks的作用是每次编译、运行时每一个入口都会对应一个entry,如果没写则引入所有页面的资源。
之后就对run build也就是编译环境进行配置。首先打开configindex.js文件,在build里加入这个:
index: path.resolve(dirname, '../dist/index.html'),
one: path.resolve(dirname, '../dist/one.html'),
two: path.resolve(dirname, '../dist/two.html'),
然后打开/build/webpack.prod/conf.js文件,在plugins那里找到HTMLWebpackPlugin,然后添加如下代码:
new HtmlWebpackPlugin({
filename: process.env.NODE_ENV === 'testing'
? 'index.html'
: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency',
chunks: ['manifest', 'vendor', 'app']
}),
new HtmlWebpackPlugin({
filename: config.build.one,
template: 'one.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
},
chunksSortMode: 'dependency',
chunks: ['manifest', 'vendor', 'one']
}),
new HtmlWebpackPlugin({
filename: config.build.two,
template: 'two.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
},
chunksSortMode: 'dependency',
chunks: ['manifest', 'vendor', 'two']
}),
其中filename引用的是configindex.js里的build,每个页面都要配置一个chunks,不然会加载所有页面的资源。
然后one.js文件可以这样写:
import Vue from 'vue'
import one from './one.vue'
Vue.config.proctionTip = false
/* eslint-disable no-new */
new Vue({
el: '#one',
render: h => h(one)
})
one.vue写法如下:
<template>
<p id="one">
{{msg}}
</p>
</template>
<script>
export default {
name: 'one',
data () {
return {
msg: 'I am one'
}
}
}
</script>
two的写法与之类似,所以不写下来了,
然后App.vue里通过这样写:
<template>
<p id="app">
<a href="one.html" rel="external nofollow" >one</a><br>
<a href="two.html" rel="external nofollow" >two</a><br>
{{msg}}
</p>
</template>这样子当你打开页面的时候,点击上面one的链接就会跳转到one.html,点击two就跳转到two.html。这样子就大功告成了。
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
JS提示文本框邮箱地址补全
$.ajax()方法怎样从服务器里获取json数据
vue2.0怎样开发多页面
首先第一步就是生成一个vue项目,用指令:vue init webpack test博主本人声明的文件名为test,下载好后一路enter,之后便生成了一个vue项目,但是这个vue项目还没有一些相关的依赖,这个时候需要进入到该文件夹里面,输入指令:npm install如果网速不好,则用cnpm install,效果一样。略等几分钟后整个依...
vue多页面开发?
vue-cli配置多页面应用vue脚手架创建的应用默认都是单页面的SPA,若需要开发多页面应用,需要自己手动配置。其实本质上就是将默认生成的这些文件(index.html、main.js、App.vue)当作一个页面,复制一份改改名字和基本内容作为另一个页面。1、方便管理在src新建pages目录然后pages下建各个页面对应的文件夹...
vue单页面和多页面?
Vue.js能做PC端单页式网站开发吗1、并不是只是单页应用,vue,angular,react这种的确是为单页面应用,尤其是为复杂的富应用而生,但并不代表这些框架就不适合做多页面应用了。2、那么前端如果是一个PC网站如果要考虑兼容性,那么用的相对比较多的其实还是jquery。但是在目前大多数浏览器都能支持比较新...
vue单页面改造多页面应用
1将当前项目改造成多页面目录 pages下为我们开发的目录文件,改造过程就是将原src下所有目录结构复制到home,index每个页面单独一份为了提现多页面优势,这里我们选用两款ui框架,以便最后做下打包体积对比npm?i?element-ui?-Snpm?i?ant-design-vue?-S 在home和index中分别引入home页面类似,然后我们更改vue.config.js...
vue2.0项目上线后,进去后变成如图所视,刷新没用,必须关掉移动端在进去才...
最先将它是因为他不仅支持移动端而且还支持pc端,做到了多端兼容,而且无需写css就能实现非常美观的界面。首先下载,如下:npm install --save vuetify 2).vant 下载安装,如下:npm i vant -S 3).Mint UI 也是饿了么前端团队开发的基于移动端的组件库,首先来下载安装,如图:npm i mint-ui --...
后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服...
- 前端采用Vue2.0构建,安装socket.io模块并指定版本2.1.0。- 在`main.js`中引用socket.io实例,并配置前端与后端服务地址的连接。- 创建`index.vue`组件展示用户界面,通过socket.io接收和发送消息。- 可以开发`item.vue`组件模拟客服界面,实现多用户同时在线聊天。5. **测试与验证**:- 访问...
vue-cli配置多页面应用时chunk-vendors优化-分割逻辑
这些插件在官网的开发中都用不到,官网只用到了tailwindcss。因此希望通过配置多页面实现代码的分割。官网保持轻量,只加载vuevue-routeraxios等必要的库,而其他的库如ant-design-vue等不需要加载到官网的页面中。问题当我以为只需要按照vue-cli文档的配置vue-clipages进行配置,一切都会按照我的设想进行...
基于Vue.js 2.0 酷炫自适应背景视频登录页面的设计
首先,介绍背景视频 Web 页面的常见实现方式。国外资源网站「Coverr」提供了丰富的教程与视频资源,旨在帮助前端开发者构建出独特的背景视频主页。接下来,我们将基于 Vue.js 2.0 开发环境,利用 vue-cli 创建项目,并在项目中构建登录页面。具体步骤包括但不限于 HTML 模板、CSS 样式与 JavaScript 逻辑...
记一次vue2项目开发模式从wepack转vite的改造流程
首先引入了Vite和相关插件,确保环境与需求相匹配。具体来说,使用了vite-plugin-vue2@2.0.3来兼容Vue2的环境,选择vite@4.5.3作为Vite版本,考虑到兼容性需求以及node版本至少要达到v18,同时引入了vite-plugin-html@3.2.2和vite-plugin-require@1.2.14以解决多页面和动态模板需求以及require问题。
使用vue创建的项目只有一个html文件
只有一个。因为vue是单页面项目开发,也就是所有的业务逻辑和内容的呈现都是在一个页面上完成,只是根据功能的不同,通过路由实现页面的跳转。vue项目通过webpack打包,最后生成的是一个index.html文件,这个文件里面引用各种js和css,达到封装和渲染的目的。由此可见一个vue项目只有一个html文件。