初涉vue就深深的被vue强大的功能,快速的开发能力所折服。所以就写了一个cnode社区的app来实践对vue的学习成果。也算是入坑指南吧,如果您觉得对您有帮助,就在github上给个star吧,代码拙劣,大神请忽略。。。

前言

利用cnode中文社区提供的API,一步一步实现vue项目的搭建及开发。

线上地址:https://cnode.applinzi.com

源码地址:https://github.com/sandisen/cnode-vue

技术栈

vue2.0

vue-router2.0

webpack

es6

less

node

npm

git

核心功能

话题列表,话题详情,登录,发布话题,发表评论,点赞点踩,无限加载。。。

项目搭建步骤

一、安装nodejs

下载地址:https://nodejs.org/en/download/

下载完成后,打开git bash命令行(前提是您已经安装了git客户端)进行验证

node -v

npm -v

二、安装淘宝镜像

npm是下载国外的包,大部分人网速都扛不住,所以为了快速安装我推荐使用淘宝镜像cnpm。

1.安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

2.使用

之后所有的npm操作,都替换成cnpm,如cnpm install

这里附上官方文档:https://npm.taobao.org/

三、搭建项目脚手架

1.全局安装vue脚手架 — vue-cli

cnpm install -g vue-cli

2.利用webpack的模板,初始化vue项目

vue init webpack basic-functions("basic-functions"为自己的项目名称)



3.在本地运行项目

cd basic-functions '(进入项目文件夹)'
cnpm install '(下载依赖包)'
npm run dev '(启动项目,一定要在有package.json的当前目录运行)'

在浏览器地址栏输入:localhost:8080,(8080为端口号,如果被占用,可在webpack.config.js中修改)可以看到以下页面

四、文件结构介绍

--- build '(webpack配置文件)'
--- config '(开发及生产环境配置)'
--- nodele_modules '(npm install 现在下来的依赖包)'
--- src ('开发目录)'
|--- assets '(资源文件夹-js,vue,img,css等)'
|--- router '(路由文件)'
|--- index.js'(控制路由跳转页面)'
|--- App.vue '(App.vue组件)'
|--- main.js '(预编译入口)'
--- static '(静态资源文件)'
--- .babelrc '(babel配置文件)'
--- .gitignore '(git提交忽略规则')
--- index.html '(主页)'
--- package.json '(项目配置文件)'
--- README.md

五、接入less

1.安装依赖

cnpm install less-loader --save-dev
cnpm install node-less --save-dev

2.验证

新建一个less文件,在App.vue的script中引用该less文件。

<script>
import './src/style/base.less'
</script>

六、接入zepto

1.安装依赖

cnpm install webpack-zepto --save-dev

2.webpack.dev.conf.js配置,在plugins中加入

new webpack.ProvidePlugin({
$: "webpack-zepto",
Zepto: "webpack-zepto",
"window.Zepto": "webpack-zepto"
})

ps:webpack.prod.conf.js中也要配置,保证打包出来的配置正确

3.验证

(./App.vue)
export default {
mounted:function() {
console.log($('img').length)
}
}

七、正式开发

1.修改文件目录结构,为如下目录结构



2.main.js入口文件

import Vue from 'vue'
import App from './App'
import router from './router'
import $ from 'webpack-zepto'
import filter from './utils/filter.js';
//注册全局组件
Vue.prototype.$filter = filter;
Vue.config.productionTip = false /* eslint-disable no-new */
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})

3.router文件中index.js文件

import Vue from 'vue'
import Router from 'vue-router' import Index from '@/page/index'
import Topic from '@/page/topic'
import PublishTopic from '@/page/publishTopic'
import Login from '@/page/login'
import User from '@/page/user'
import Message from '@/page/message'
Vue.use(Router) export default new Router({
routes: [
{
path: '/',
redirect: {name: 'index'}
},
{
path: '/',
name: 'index',
component: Index
},
{
path: '/topic/:id',
name: 'topic',
component: Topic
},
{
path: '/create',
name: 'create',
component: PublishTopic,
meta: { requiresAuth: true }
},
{
path: '/login',
name: 'login',
component: Login
},
{
path: '/user/:loginname',
name: 'user',
component: User
},
{
path: '/message',
name: 'message',
component: Message,
meta: { requiresAuth: true }
}
]
})

页面效果如下:






















至此简单的项目已经完成,后续还会加入vuex(状态管理),对于目前使用的html5离线存储进行替换,并且对ajax获取数据进行封装。

vue2.0版cnode社区项目搭建及实战开发的更多相关文章

  1. 基于Koa2框架的项目搭建及实战开发

    Koa是基于 Node.js 平台的下一代 web 开发框架,由express原班人马打造,致力于成为一个更小.更富有表现力.更健壮的 Web 框架.使用 koa 编写 web 应用,通过组合不同的 ...

  2. 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

    Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...

  3. 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)

    总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■   CLI是Command-Lin ...

  4. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】

    缘起 哈喽大家好,兜兜转转终于来到了Vue实战环节,前边的 6 篇关于Vue基础文章我刚刚简单看了看,感觉写的还是不行呀,不是很系统,所以大家可能看上去比较累,还是得抽时间去润润色,修改修改语句和样式 ...

  5. vue2.0 饿了么项目学习总结

    最近在GitHub上发现一个基于vue2.0的饿了么项目.本着互联网的分享精神,现在将我自己所理解的,所总结的经验分享给大家.本篇文字我将从学习的角度向大家分享. 在学习本项目之前我已经将vue2.0 ...

  6. Vue2.0 新手入门 — 从环境搭建到发布

    什么是 Vue Vue 是一个前端框架,特点是数据绑定 比如你改变一个输入框 Input 标签的值,会自动同步更新到页面上其他绑定该输入框的组件的值 组件化 页面上小到一个按钮都可以是一个单独的文件. ...

  7. Vue2.0 中,“渐进式框架”和“自底向上增量开发的设计”这两个概念是什么?(转)

    https://www.zhihu.com/question/51907207?rf=55052497 徐飞 在我看来,渐进式代表的含义是:主张最少. 每个框架都不可避免会有自己的一些特点,从而会对使 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

  9. vue2.0 + element-ui 通过vue-cli 脚手架搭建的有关网络安全的项目源代码

    这次是我进入公司的练手项目,是第一次系统学习vue,做出来的demo是比较低端的,而且不太好看,见谅见谅. 源代码下载路径:https://github.com/Pandora-ps/vue-elem ...

随机推荐

  1. HTML超文本标记语言-基础标签整理

    第一章 <META>标签: <meta http-equiv="Content-Type" Content="text/html;charset=gb2 ...

  2. Yii2.0修改默认控制器

    设置默认控制器有两种方法 1.在/vendor/yiisoft/yii2/web/Application.PHP的第28行左右 public $defaultRoute = 'site';      ...

  3. 配置adb环境变量

    作为Android开发人员,会经常使用adb命令来进行push.pull.install.看数据库等.记录一下adb配置流程,以备后用. 在没有配置adb之前,我们打开Windows命令处理程序(cm ...

  4. H5 音频

    HTML 5 音频 HTML5 视频/DOM HTML5 拖放 HTML5 提供了播放音频的标准. Web 上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准. 今天,大多数音频是通过插件(比 ...

  5. 老司机实战Windows Server Docker:1 初体验之各种填坑

    前言 Windows Server 2016正式版发布已经有近半年时间了,除了看到携程的同学分享了一些Windows Server Docker的实践经验,网上比较深入的资料,不管是中文或英文的,都还 ...

  6. mac 下 wget 安装

    1.下载 wget 压缩包,wget 下载地址:ftp://ftp.gnu.org/gnu/wget/ 2.make && make install 3.如果提示 permission ...

  7. mybatis与spring整合时读取properties问题的解决

    在学习mybatis与spring整合是,想从外部引用一个db.properties数据库配置文件,在配置文件中使用占位符进行引用,如下: <context:property-placehold ...

  8. HTML——超文本标记语言

    HTML: 网站(站点) - 网页 1.HTML作为文件后缀名,可以把文件变为网页 2.HTML是一门编程语言的名字:超文本标记语言 3.超越了文字的范畴,除了文字还可以有图片.视频.音频.动画特效等 ...

  9. Java完成简单猜数字游戏v2.0

    猜数字游戏v2.0 优化了获取随机数.输入数据超出边界值的代码,并增加了异常处理,能够在玩家输入错误数据错误时给出可靠指引,希望对和我一样的新人有帮助, 最后希望有大神愿意帮我解决代码优化的问题,谢谢 ...

  10. shell学习指南-阅读笔记

    shell学习指南真不是刚开始学习shell应该看得书,虽然其中讲了简单的linux命令,shell语法等,但是每章也有些深入和生僻地方,我想如果我刚学shell看到这样的地方一定会头疼的要死.或许也 ...