首页 / VUE / Vue.js中多页面项目如何配置
Vue.js中多页面项目如何配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Vue.js中多页面项目如何配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6021字,纯文字阅读大概需要9分钟。
内容图文
![Vue.js中多页面项目如何配置](/upload/InfoBanner/zyjiaocheng/295/22639de4a425432f8f105a19998f8b68.jpg)
首先使用如下的命令创建一个新的 Vue.js 项目
vue init webpack vue-3
使用 VsCode 打开项目之后,在命令行进入到项目中去,安装相关的依赖库,然后运行项目,执行下面的命令
cd vue-3npm installnpm run dev
在一切正常的情况下,在浏览器输入 http://localhost:8080 应该会弹出一个含有大大的 V 字图标的页面。
完成上面的准备工作之后,接下来我们就来实现多页面项目的配置,我们预期希望实现的效果如下:
在浏览器输入 http://localhost:8080/admin 就会跳转到显示 这里是管理员登录 的页面。
我们在项目的 src 目录下建立 page/login 目录
然后在 login 目录下新建三个文件夹: admin.html admin.js Admin.vue
然后编写相应的页面显示代码,其中
admin.html 中的代码如下
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>管理员登录页面</title></head><body> <p id="admin"></p></body></html>
Admin.vue 中的代码如下
<template> <p id="admin"> <p>这里是管理员登录页面</p> </p></template><script>export default { name: 'Admin'}</script>
admin.js 中的代码如下
import Vue from 'vue'import Admin from './Admin.vue'Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#admin', components: { Admin }, template: '<Admin/>'})
上面显示页面的代码完成之后,开始进行配置工作
首先打开 build
目录
在 webpack.base.conf.js
文件的 entry
配置属性加上新的入口文件:
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: './src/main.js', admin: './src/page/login/admin.js' },
在webpack.dev.conf.js
文件的devServer
下的 rewrites
添加重定向:
devServer: { clientLogLevel: 'warning', historyApiFallback: { rewrites: [ { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, 'src/indexlogin/admin.html') }, { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, ], },
同样要在该文件中的plugins
配置项内多配置一个HtmlWebpackPlugin
插件,用于生成 admin.html 的入口页
同时添加 chunks
,用于指定在前面 entry
对应的入口文件的别名。
plugins: [ new webpack.DefinePlugin({ 'process.env': require('../config/dev.env') }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', chunks:['app'], inject: true }), new HtmlWebpackPlugin({ filename: 'src/page/login/admin.html', template: 'src/page/login/admin.html', chunks:['admin'], inject: true }),
然后我们找到 config
目录,打开里面的 index.js
文件,在build
属性下添加如下代码
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), admin: path.resolve(__dirname, '../dist/src/page/login/admin.html'),
以上完成所有的配置工作,在命令行重新执行npm run dev
,项目启动后,在浏览器键入 http://localhost:8080/admin ,就成功的跳转到刚刚我们写的页面中去了。
首先使用如下的命令创建一个新的 Vue.js 项目
vue init webpack vue-3
使用 VsCode 打开项目之后,在命令行进入到项目中去,安装相关的依赖库,然后运行项目,执行下面的命令
cd vue-3npm installnpm run dev
在一切正常的情况下,在浏览器输入 http://localhost:8080 应该会弹出一个含有大大的 V 字图标的页面。
完成上面的准备工作之后,接下来我们就来实现多页面项目的配置,我们预期希望实现的效果如下:
在浏览器输入 http://localhost:8080/admin 就会跳转到显示 这里是管理员登录 的页面。
我们在项目的 src 目录下建立 page/login 目录
然后在 login 目录下新建三个文件夹: admin.html admin.js Admin.vue
然后编写相应的页面显示代码,其中
admin.html 中的代码如下
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>管理员登录页面</title></head><body> <p id="admin"></p></body></html>
Admin.vue 中的代码如下
<template> <p id="admin"> <p>这里是管理员登录页面</p> </p></template><script>export default { name: 'Admin'}</script>
admin.js 中的代码如下
import Vue from 'vue'import Admin from './Admin.vue'Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#admin', components: { Admin }, template: '<Admin/>'})
上面显示页面的代码完成之后,开始进行配置工作
首先打开 build
目录
在 webpack.base.conf.js
文件的 entry
配置属性加上新的入口文件:
module.exports = { context: path.resolve(__dirname, '../'), entry: { app: './src/main.js', admin: './src/page/login/admin.js' },
在webpack.dev.conf.js
文件的devServer
下的 rewrites
添加重定向:
devServer: { clientLogLevel: 'warning', historyApiFallback: { rewrites: [ { from: /.admin/, to: path.posix.join(config.dev.assetsPublicPath, 'src/indexlogin/admin.html') }, { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, ], },
同样要在该文件中的plugins
配置项内多配置一个HtmlWebpackPlugin
插件,用于生成 admin.html 的入口页
同时添加 chunks
,用于指定在前面 entry
对应的入口文件的别名。
plugins: [ new webpack.DefinePlugin({ 'process.env': require('../config/dev.env') }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', chunks:['app'], inject: true }), new HtmlWebpackPlugin({ filename: 'src/page/login/admin.html', template: 'src/page/login/admin.html', chunks:['admin'], inject: true }),
然后我们找到 config
目录,打开里面的 index.js
文件,在build
属性下添加如下代码
build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), admin: path.resolve(__dirname, '../dist/src/page/login/admin.html'),
以上完成所有的配置工作,在命令行重新执行npm run dev
,项目启动后,在浏览器键入 http://localhost:8080/admin ,就成功的跳转到刚刚我们写的页面中去了。
相关推荐:
vue-cli开发多页面应用的简单示例
Vue-cli创建单页面到多页面的方法实例代码
如何将 Vue-cli 改造成支持多页面的history模式
以上就是Vue.js中多页面项目如何配置的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的Vue.js中多页面项目如何配置全部内容,希望文章能够帮你解决Vue.js中多页面项目如何配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。