suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - vuejs构建非单页应用

网上看到的大部分案例都是使用vue+webpack构建单页应用的,我想了解的是,vue在非spa场景中的应用经验。

项目概述:

一个简单的阅读+购物网站移动端,页面并不要求使用前端路由

为何有此疑问:

以前都是使用jQuery或原生js+gulp开发的,现在新项目想要尝试vue.js,但不想太冒进地一步到位,毕竟项目开发周期有限。

我的疑惑:

  1. 不使用前端路由,不使用.vue单文件组件,是否还能继续愉快地组件化开发;

  2. 这里非单页应用,是否能『很好地』实现前后端分离,html不需要后端改动了;

  3. 各位是否有相关的使用vue开发多页面网站的经验,最好是基于gulp的。

PHPzPHPz2791 Tage vor736

Antworte allen(7)Ich werde antworten

  • 阿神

    阿神2017-04-11 09:47:14

    我们有的产品就是完全只引入vue文件进行开发的
    技术栈 vue+gulp 后台 php
    可以实现前后端分离,不需要给后台套页面,全是前端渲染。后台只按文档给json数据和接口

    转型和上手也非常快,基本没什么问题

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:47:14

    我一直用vue开发多页面应用,所有数据通过ajax调取,然后绑定到vue的data中,再使用vue作为模板渲染引擎,渲染页面,gulp只是用来压缩打包代码

    至于.vue组件文件,没用过

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-11 09:47:14

    http://www.shinygang.cn/cnodevue/

    github :https://github.com/shinygang/Vue-cnodejs

    最近在看这个,但是感觉VUE就是为单页而生啊,共同学习

    Antwort
    0
  • 黄舟

    黄舟2017-04-11 09:47:14

    当然可以,用vue.extend创建组件,用components注册组件

    Antwort
    0
  • 迷茫

    迷茫2017-04-11 09:47:14

    完全可以,怎么用是你自己的事情, 不过建议单页应用

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-11 09:47:14

    如果不是全站单页应用的话一样是可以用Vue的,之前的项目是直接在当前html界面引入vue.js作为script标签,没有用webpack进行打包。

    Antwort
    0
  • 阿神

    阿神2017-04-11 09:47:14

    我们的项目是后端thinkPHP,前端是require.js+zepto
    我学vue一个月,一开始也是很纠结这个问题啊,因为thinkPHP是后端路由啊

    每个功能都一个页面……每个页面里面才是一个小的单页应用……我就纳闷了 webpack怎么玩……
    后来没办法 就用require.js来组织组件

    搞了一个组件模板 每个组件都这样结构:

    define(["vue","text!../js/lib/components/component/index.html","css!../js/lib/components/component/index.css"],function (Vue,Template) {
        // 这里是模块的代码
        var component = Vue.extend({
            template : Template,
            props : [],
            data : function() {
                return {
                    
                }
            },
            // 在编译结束和 $el 第一次插入文档之后调用
            ready : function() {
    
            },
            // 在开始销毁实例时调用。此时实例仍然有功能。
            beforeDestroy : function() {
    
            },
            methods : {
                
            },
            events : {
    
            }
        });
        return component;
    });

    别的地方要用这个组件的就define(['component'],function (component) {}){…………}
    好像现在这样还没有什么问题 不过整个项目就我一个人改……要全盘改成vue 我只是个菜鸡啊 我好累……

    Antwort
    0
  • StornierenAntwort