前端发展技术不断更新,需要学习的地方还很多,一个人最可怕的不是有多成功,而是不断的学习,作为一名技术人员,要不断学习新的事物,不断提升自己,才是发展之路。
写博客不是给别看的而是给自己看的
有幸之前的项目使用过一些不错的框架 今天简单描述一下vue和require的使用,仅入门级的参考。
使用requirejs,我们只需要导入requirejs即可,不需要显式导入其它的js库,因为这个工作会交给requirejs来做。
<script type="text/javascript" data-main="./static/js/index.js" src="./static/plugins/require.js">script>
同时data-main 是告诉requirejs:载入真正的入口文件。它一般用来对requirejs进行配置,并且载入真正的程序模块。
看看入口文件index.js的配置:
requirejs.config({
baseUrl: './static/',
paths: {
"jquery": "plugins/jquery-1.8.3.min",
"bootstrap": "plugins/boostrapv3/js/bootstrap.min",
},
shim: {
"bootstrap": {
deps: ["jquery"]
},
},
});
config 该函数用于配置RequireJS.
require.config配置参数选项
baseUrl :用于加载模块的根路径。
paths: 用于映射不存在根路径下面的模块路径。
shims: 配置在脚本/模块外面并没有使用RequireJS的函数依赖并且初始化函数。
RequireJS定义,但是你还是想通过RequireJS来使用它,那么你就需要在配置中把它定义为一个shim。
deps:加载依赖关系数组
define: 定义一个模块
define(function(require){
var Vue = require('../static/plugins/Vue.min.js');
var public = require('../static/js/public.js');
var cookie = require('../static/plugins/jquery.cookie.min.js');
var login_outUrl = public.urlPath.loginUrl;
});
另外还可以把 require 当作依赖的模块,然后调用它的方法:
require(["./static/plugins/Vue.min.js","./js/navbar"],function (vue,navBar) {
navBar.fnInit("active");
});
paths: {
"jquery": "plugins/jquery-1.8.3.min",
"Vue":"plugins/Vue.min",
},
require(["Vue","./js/navbar"],function (vue,navBar) {
navBar.fnInit("active");
});
如果项目中使用webpack,nodeJs管理项目,与Vue一起使用会更好的前端开发体验,由于目前还没设计,这里不做过多说明 , 但是不推荐新手直接使用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时。
<ul id="side">
<li v-for="item in items" :data-type="item.type">
<span class="iconfont" :id="item.type">span>
<div class="tooltip parts-li-tip">
<div class="tooltip-inner" >
<div >
<h4>{{ item.message }}h4>
div >
div>
div>
li>
<li data-type="QRcode">
<span class="iconfont">span>
<div class="tooltip parts-li-tip">
<div class="tooltip-inner">
<img src="./static/img/firstPage/weixin.jpg">div>
div>
li>
<li data-type="Top" v-on:click="goTop()">
<span class="iconfont">span>
li>
ul>
new Vue({
el : '#side',
data: {
items: [
{ message: '客服电话:15389056016',img: './static/img/online/phone.png',type: 'Phone' },
{ message: 'QQ:165639134',img: './static/img/online/qq.png',type: 'QQ' },
{ message: '淘宝官方店',img: './static/img/online/taobao.png',type: 'WhatsApp' },
],
},
methods: {
fnSideTarget: function (message) {
alert(message)
},
goTop:function () {
$('html,body').animate({'scrollTop':0},600);
}
}
});