国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue系列之requireJs中引入vue-router的方法

2019-11-19 13:28:25
字體:
來源:轉載
供稿:網友

requireJs簡介

參數配置

requireJS 常用的方法與命令也就兩個,因此requireJS使用起來非常簡單。

require
define

其中define是用于定義模塊,而require是用于載入模塊以及載入配置文件。

define([id,deps,] callback);require(deps[,callback]);

加載配置文件

獨立的引入配置文件也有兩種方式,一種是通過script標簽加載外部JS文件形式:

<script src="js/require.js"></script><script src="js/app.js"></script>

另一種方式則是使用 require 提供的 data-main 屬性,該屬性是直接寫在引入require.js的script標簽上,在require.js 加載完畢時,會自動去加載配置文件 app.js。

<script data-main="js/app" src="js/require.js"></script>

通過 data-main 去加載入口文件,便會使配置對象中的 baseUrl 屬性默認指向地址改為 app.js 所在的位置,相比之下我更加推薦這種方式,因為它更可能的方便快捷。

<script data-main="js/app.js" src="js/require.js"></script>

注意:你在main.js中所設置的腳本是異步加載的。所以如果你在頁面中配置了其它JS加載,則不能保證它們所依賴的JS已經加載成功。

常用參數配置

urlArgs

RequireJS獲取資源時附加在URL后面的額外的query參數。作為瀏覽器或服務器未正確配置時的“cache bust”手段很有用。使用cache bust配置的一個示例:
javascript:;urlArgs: "bust=" + (new Date()).getTime()
在開發中這很有用,但請記得在部署到生成環境之前移除它。

deps

用于聲明require.js在加載完成時便會自動加載的模塊,值是一個數組,數組元素便是模塊名。

config

config屬性可以為模塊配置額外的參數設定,其使用格式就是以模塊名或者模塊ID為key,然后具體的參數為value。

shim

shim為那些沒有使用define()來聲明依賴關系、設置模塊的"瀏覽器全局變量注入"型腳本做依賴和導出配置。

require.config({  baseUrl : "./src",  paths :{    jquery:"./lib/jquery.min",    vue:"./lib/vue",    vueResource:"./lib/vue-resource.min",    vueX:"./lib/vuex",    api :"./api/index",    lodash : "./lib/lodash.min",    bootstrap : "./assets/js/bootstrap/js/bootstrap.min",    ripples : "./assets/js/bootstrap-material-design/js/ripples.min",    material:"./assets/js/bootstrap-material-design/js/material.min"  },  shim : {    bootstrap : ['jquery'],    ripples:['jquery'],    material:['jquery'],  },  packages: [    {      name: 'components',      location: 'component',      main: 'components'    },    {      name : "vuex",      location :"vuex",      main : "vuex"    }  ]});

vue項目

requirejs配置

require.config({  baseUrl : "./src",  paths :{    vue:"./lib/vue",    vueRouter: "./lib/vue-router",    promise: "./lib/q",    router: "./js/router",    header: "./js/components/header"  },  shim : {    vueRouter : ['vue']  }});

router配置

define(["resolve"], function(resolve){  return [    {      path: "/home",      name: "home",      component: resolve("../js/xx.js")    },    {      path: "/news",      name: "news",      component: resolve("../js/xx.js")    }  ];});

resolve.js

define(["require", "promise"], function(require, Q){  var resolve = function(dep) {    return function() {      if (!(dep instanceof Array)) {        dep = [dep];      }      var deferred = Q.defer();      require(dep, function(res) {        deferred.resolve(res);      });      return deferred.promise;    };  };  return resolve;});

index

<body>  <header></header>  <router-view></router-view></body>require(["vue", "vueRouter", "router", "header"], function(vue, vueRouter, router, header) {  vue.use(vueRouter);  var routes = new vueRouter({    routes: router  });  new Vue({    router: routes,    data: function(){      return {        aa: true      };    }  }).$mount("body");});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨脱县| 阜城县| 甘肃省| 油尖旺区| 云南省| 宁津县| 遂昌县| 松桃| 小金县| 长垣县| 德昌县| 永安市| 原阳县| 芮城县| 苏尼特左旗| 洛浦县| 阿拉善右旗| 游戏| 彩票| 庆城县| 扬中市| 枞阳县| 辽宁省| 贵南县| 商丘市| 五华县| 泾川县| 精河县| 通道| 徐水县| 砀山县| 前郭尔| 静海县| 奈曼旗| 怀来县| 阿合奇县| 伊宁市| 绥滨县| 阿坝县| 象州县| 嵩明县|