时间:2013.08.15 发布人:GoldLeong
已解决问题
谷歌GoldLeong用户在2013.08.15提交了关于“
古龙vue2.0之多页面的开发的示例”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-04-22T12:40:59。希望大家能够帮助她。
详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!
希望以下的回答,能够帮助你。
第1个回答
用户名:小K糖分控
我们平常用vue开发的时候总觉得vue好像就是专门为了单页面应用而诞生的,其实不是。因为vue在工程化开发的时候很依赖web来自pack,而webpack是将所有的资源整合到一块,弄成一个单页面。但是问答vue不止可以做单页面,它还可以做多页面,如果要做多页面的话需要对他的依赖据声永战田五,也就是webpack就是重新配置才可以。本文将详细讲只代减命穿和指webpack的配置。
vue的开发有两种,一种是直接的在script标签今里引入vue.js文件即可,这样子引入的话个人感觉做小型的多页面会比较舒坦,一旦做大型一点的项目,还是离不开we师清bpack。所以另一种方法也就是基于webpack和vue-cli的工程化开发。下面详解步骤。
先声明,如果用vue进行工程化开发,首先要有node.js,然后再下一个npm,不过一般新版的node都会有npm所以可以不用弄。指令是在命令行里输入。首先第一步就是生成一个vue项目,用指令:
vue
害减研表频周菜掉突许initwebp约左所场减仍上延气影径acktest博主本人声明的文件名为test,下载好后一路enter,之后便生成了一个vue项目,诗当分皇族征图兴编但是这个vue项目还没有一些相关的依赖,这个时候需要进入到该文件夹里面,输入指令:
npminstall如果网速不好,则用cnpm容地片install,效果一样。略等几分钟后整个依赖便已经下完,之后输入指令:
npmrundev则会自动打开一个界面,如果报错不能打开网页的话只有一笔查七种原因,那就端口占用,这个时候需要到/config/index.js目录下改端口就行。
祷个vue项目完成好所有的配置后,接下地来就是我们的重点了,首先我们新新建几个html文件,博主我新建了一个one.html和two.html,注曾击喜女及其与之对应的vue文件和js文件,文件目录如下:
弄好之后我们进入\build独吸\webpack.base.conf.js目录下,在mo**le.exports的域里,找到entry,在那里配置添加多个入口:
entry:{app:'./src/main.js',one:'./src/js/one.js机粒广线妒校或衣盟',two:'./src/js/two.js'混},注意,紫色部分的变量名要起好,因为后面要用到,以防忘记。
接下来就是对开发环境run几信京依这纪矿带心际工dev里进行修改,打开\build\webpack.dev.conf.js文件,在mo**le.exports那里找到plugins,下面写法如下:
plugins:[newwebpack.DefinePlugin({'process.env':config.d题毛项财从初善春我ev.env}),//https://***.com/glenjamin/webpack-hot-middleware#installation--usagenewwebpack.h**otMo**leReplacementPlugin(),newwebpack.NoEmitOnErrorsPlugin(),//https://***.com/ampedandwired/html-webpack-pluginnewh**tmlWebpackPlugin({filename:'index.html',template:'index.html',inject:true,chunks:['app']}),newh**tmlWebpackPlugin({filename:'one.html',template:'one.html',inject:true,chunks:['one']}),newh**tmlWebpackPlugin({filename:'two.html',template:'two.html',inject:true,chunks:['two']}),newFriendlyErrorsPlugin()]在chunks那里的app指的是webpack.base.conf.js的entry那里与之对应的变量名。chunks的作用是每次编译、运行时每一个入口都会对应一个entry,如果没写则引入所有页面的资源。
之后就对runbuild也就是编译环境进行配置。首先打开\config\index.js文件,在build里加入这个:
index:path.resolve(__dirname,'../dist/index.html'),one:path.resolve(__dirname,'../dist/one.html'),two:path.resolve(__dirname,'../dist/two.html'),然后打开/build/***.prod/conf.js文件,在plugins那里找到h**TMLWebpackPlugin,然后添加如下代码:
newh**tmlWebpackPlugin({filename:process.env.NODE_ENV==='testing'?'index.html':config.build.index,template:'index.html',inject:true,minify:{removeComments:true,collapseWhitespace:true,removeAttributeQuotes:true//moreoptions://https://***.com/kangax/html-minifier#options-quick-reference},//necessarytoconsistentlyworkwithmultiplechunksviaCommonsChunkPluginchunksSortMode:'dependency',chunks:['manifest','vendor','app']}),newh**tmlWebpackPlugin({filename:config.***.one,template:'one.html',inject:true,minify:{removeComments:true,collapseWhitespace:true,removeAttributeQuotes:true},chunksSortMode:'dependency',chunks:['manifest','vendor','one']}),newh**tmlWebpackPlugin({filename:config.build.two,template:'two.html',inject:true,minify:{removeComments:true,collapseWhitespace:true,removeAttributeQuotes:true},chunksSortMode:'dependency',chunks:['manifest','vendor','two']}),其中filename引用的是\config\index.js里的build,每个页面都要配置一个chunks,不然会加载所有页面的资源。
然后one.js文件可以这样写:
importVuefrom'vue'importonefrom'./one.vue'Vue.config.pro**ctionTip=false/*eslint-disableno-new*/newVue({el:'#one',render:h=>h(one)})one.vue写法如下:<template><divid="one">{{msg}}</div></template><script>exportdefault{name:'one',data(){return{msg:'Iamone'}}}</script>two的写法与之类似,所以不写下来了,
然后App.vue里通过这样写:
<template><divid="app"><ahref="one.html"rel="externalnofollow">one</a><br><ahref="two.html"rel="externalnofollow">two</a><br>{{msg}}</div></template>这样子当你打开页面的时候,点击上面one的链接就会跳转到one.html,点击two就跳转到two.html。这样子就大功告成了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:vue-cli实现多页面多路由的示例代码基于vuecli重构多页面脚手架过程详解详解webpack编译多页面vue项目的配置问题详解如何将Vue-cli改造成支持多页面的history模式用vue构建多页面应用的示例代码Vue-cli创建项目从单页面到多页面的方法详解vue-cli多页面工程实践详解基于webpack2.x的vue2.x的多页面站点详解vue-cli+webpack多页面实例配置优化方法详解vue-cli+webpack多页面实例应用