关于vue.js

vue.js是一套构建用户界面的 轻型的渐进式前端框架。它的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。使用vue可以给你的开发带来极致的编程体验。
关于vue-cli
Vue-cli是vue官方提供的一个命令行工具(vue-cli),可用于快速搭建大型单页应用。该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程。只需一分钟即可启动带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。
疑问
vue-cli主要是用于构建单页应用的脚手架,但是现实项目中,大部分项目都是多页的,怎么样可以很好的利用这一套官方配置呢?我在网上找了一下, 几乎找不到vue多页应用实例,所以才有基于vue-cli生成的单页应用进行改造。
代码地址:
Github:https://github.com/breezefeng/vue-cli-multipage
使用方法
# install dependencies npm install # serve with hot reload at localhost:8080/module/index.html npm run dev # build for production with minification npm run build
目录结构
vue-cli-multipage
|---build
|---config
|---src
|---assets
|---img 图片文件
|---css 样式文件
|---font 字体文件
|---components 组件
|---Button.vue 按钮组件
|---Hello.vue
|---module
|---index 首页模块
|---index.html
|---index.js
|---App.vue
|---detail 详情页模块
|---detail.html
|---detail.js
|---App.vue
从目录结构上,各种组件、页面模块、资源等都按类新建了文件夹,方便我们储存文件。
其实我们所有的文件,最主要都是放在module文件夹里,以文件夹名为html的名称。
例如:
|---index 首页模块 |---index.html |---index.js |---App.vue
此时我们访问的链接是:http://localhost:8080/module/index.html
这里一定要注意,在module里下级文件夹里需要将html,js,vue template 都统一放在当前文件夹里,当然你也可以继续放其他的资源,例如css、图片、组件等,webpack会打包到当前页面里。
如果项目不需要这个页面了,可以把这个文件夹直接删除掉,干净利落,干活也开心。
像以前传统的开发项目,所有的图片都习惯放在images里,当项目有改动时,有些图片等资源用不上了,但还占着坑位,导致项目越来越大,虽然现在的硬件容量大到惊人,但我们应该还是要养到一个良好的习惯。
组件的使用
组件(Component)是 vue.js 最强大的功能之一,当你发现使用组件可以减少造轮子里,你会深深的爱上它。
我们的组件都是放在components目录下的,调用组件的方法也很简单。
import Hello from 'components/Hello'
然后记得在*.vue注册导入的组件,要不然会无法使用。
import Hello from 'components/Hello'
export default {
name: 'app',
components: {
//在这里注册组件,不然无法使用
Hello
}
}
构建代码说明
那我们使用的是vue-cli的手脚架,用过vue-cli的同学都知道构建代码是放在根目录build下,vue多页面主要修改了这三个JS文件:webpack.base.conf.js、webpack.dev.conf.js、webpack.prod.conf.js。
/**
** [webpack.base.conf.js]这里主要列出相关代码的修改点,具体代码请看build/webpack.base.conf.js
*/
var entries = getEntry('./src/module/**/*.js'); // 获得入口js文件
module.exports = {
entry: entries,
....
}
function getEntry(globPath) {
var entries = {},
basename, tmp, pathname;
glob.sync(globPath).forEach(function (entry) {
basename = path.basename(entry, path.extname(entry));
tmp = entry.split('/').splice(-3);
pathname = tmp.splice(0, 1) + '/' + basename; // 正确输出js和html的路径
entries[pathname] = entry;
});
return entries;
}
/**
** [webpack.prod.conf.js]这里主要列出相关代码的修改点,具体代码请看build/webpack.base.prod.js
*/
function getEntry(globPath) {
var entries = {},
basename, tmp, pathname;
glob.sync(globPath).forEach(function (entry) {
basename = path.basename(entry, path.extname(entry));
tmp = entry.split('/').splice(-3);
pathname = tmp.splice(0, 1) + '/' + basename; // 正确输出js和html的路径
entries[pathname] = entry;
});
return entries;
}
var pages = getEntry('./src/module/**/*.html');
for (var pathname in pages) {
// 配置生成的html文件,定义路径等
var conf = {
filename: pathname + '.html',
template: pages[pathname], // 模板路径
inject: true, // js插入位置
minify: {
//removeComments: true,
//collapseWhitespace: true,
//removeAttributeQuotes: true
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
};
if (pathname in module.exports.entry) {
conf.chunks = ['manifest', 'vendor', pathname];
conf.hash = true;
}
module.exports.plugins.push(new HtmlWebpackPlugin(conf));
}
修改的代码不是很多,但是却为多页应用提供了强大的构建支持。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue
# cli
# webpack
# webpack2
# vue-cli
# 多页面
# vue cli 3.x 项目部署到 github pages的方法
# Vue-cli创建项目从单页面到多页面的方法
# 详解vue-cli + webpack 多页面实例配置优化方法
# vue-cli实现多页面多路由的示例代码
# 详解如何将 Vue-cli 改造成支持多页面的 history 模式
# vue-cli创建的项目
# 配置多页面的实现方法
# 基于vue cli重构多页面脚手架过程详解
# 详解vue-cli多页面工程实践
# Vue CLI3基础学习之pages构建多页应用
# 放在
# 都是
# 多页
# 文件夹里
# 首页
# 的是
# 这一
# 在这里
# 很好
# 我在
# 可用于
# 你会
# 上了
# 不需要
# 找不到
# 当你
# 只需
# 其他的
# 也很
# 才有
相关文章:
如何通过VPS搭建网站快速盈利?
,有什么在线背英语单词效率比较高的网站?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
建站之星微信建站一键生成小程序+多端营销系统
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
网站插件制作软件免费下载,网页视频怎么下到本地插件?
网站制作话术技巧,网站推广做的好怎么话术?
建站之星图片链接生成指南:自助建站与智能设计教程
如何快速生成ASP一键建站模板并优化安全性?
如何在Golang中指定模块版本_使用go.mod控制版本号
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
建站之星伪静态规则如何设置?
定制建站是什么?如何实现个性化需求?
建站之星logo尺寸如何设置最合适?
官网网站制作腾讯审核要多久,联想路由器newifi官网
魔方云NAT建站如何实现端口转发?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
网页设计网站制作软件,microsoft office哪个可以创建网页?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
网站制作大概多少钱一个,做一个平台网站大概多少钱?
网站代码制作软件有哪些,如何生成自己网站的代码?
小程序网站制作需要准备什么资料,如何制作小程序?
如何快速配置高效服务器建站软件?
如何在IIS服务器上快速部署高效网站?
建站之星×万网:智能建站系统+自助建站平台一键生成
实例解析Array和String方法
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
网站制作的步骤包括,正确网址格式怎么写?
如何彻底删除建站之星生成的Banner?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何在云服务器上快速搭建个人网站?
视频网站制作教程,怎么样制作优酷网的小视频?
如何通过VPS建站实现广告与增值服务盈利?
如何选择最佳自助建站系统?快速指南解析优劣
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
微信小程序 input输入框控件详解及实例(多种示例)
如何用腾讯建站主机快速创建免费网站?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
太平洋网站制作公司,网络用语太平洋是什么意思?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
*服务器网站为何频现安全漏洞?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
建站主机功能解析:服务器选择与快速搭建指南
成都网站制作报价公司,成都工业用气开户费用?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何零成本快速生成个人自助网站?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
*请认真填写需求信息,我们会在24小时内与您取得联系。