首先說明我覺得這是一個比較好理解的vue全家桶(雖然是假的),模組化也是用require來做的,而且如果後期有必要壓縮我也會用gulp來做
1、依賴個個本地模組,require只是用來載入page,這樣比較清晰
<script src="common/vue.js"></script> //載入vue.js <script src="common/vueRouter.js"></script> //載入vueRouter <script src="common/iscroll.js"></script> //載入iscorll5(一個滑動外掛) <script src="common/require.js" defer async="true" data-main="common/main"></script> //require載入模板
2、html主要關注就是router方面
<div id="app"> <h1>Hello App!</h1> <p> <!-- 使用 router-link 元件來導航. --> <!-- 通過傳入 `to` 屬性指定連結. --> <!-- <router-link> 預設會被渲染成一個 `<a>` 標籤 --> <router-link to="/foo">Go to Foo</router-link> <router-link to="/bar">Go to Bar</router-link> </p> <!-- 路由出口 --> <!-- 路由匹配到的元件將渲染在這裡 --> <router-view></router-view> </div>
3、再看main.js也就是配置檔案,主要結合有router和require在同一個js進行配置
//require配置 require.config({ baseUrl: "page", paths: { "foo": "foo", "index":"index" } }); //匯入依賴 var arr=['foo','index']; define(arr, function(){ // 0. 如果使用模組化機制程式設計,匯入Vue和VueRouter,要呼叫 Vue.use(VueRouter) // 1. 定義(路由)元件。 // 可以從其他檔案 import 進來 const Bar = { template: '<div>bar</div>' }; // 2. 定義路由 // 每個路由應該對映一個元件。 其中"component" 可以是 // 通過 Vue.extend() 建立的元件構造器, // 或者,只是一個元件配置物件。 // 我們晚點再討論巢狀路由。 const routes = [ { path: '/', component:index}, { path: '/foo', component: Foo }, { path: '/bar', component: Bar } ]; // 3. 建立 router 例項,然後傳 `routes` 配置 // 你還可以傳別的配置引數, 不過先這麼簡單著吧。 const router = new VueRouter({ routes: routes // (縮寫)相當於 routes: routes }); // 4. 建立和掛載根例項。 // 記得要通過 router 配置引數注入路由, // 從而讓整個應用都有路由功能 const app = new Vue({ router:router }).$mount('#app'); // 現在,應用已經啟動了! });
4、剩下的就是page模組問題
const index = { //html template: ` <div> {{test}} </div> `, //資料 data:function(){ return { test:3 } }, //方法 methods:{ }, //vue鉤子 mounted: function () { } };
後話:因為不想vue的單頁面元件那樣能在單頁寫css樣式,其他都還好說,目前的話單頁應用我也只是在index.html寫下全部的css