想要了解fastadmin中的js是怎麼調用的,就應該先了解RequireJs。css
RequireJs是模塊化工具,每個咱們本身的js文件或者庫均可以當作是一個模塊,按需引入。寫法以下:html
<script data-main="js/main" src="js/require.js"></script>
src是引入requrejs框架文件,data-main是咱們本身的js的總入口。js/main對應的js文件是js/main.js(可自行命名) jquery
咱們在寫項目的時候確定會用到一些js和js類庫,那RequireJs是怎麼引用的,下面來介紹一下,bootstrap
引入第三方庫:echarts
require.config({ paths: { 'lang': "empty:", 'form': 'require-form', 'table': 'require-table', 'upload': 'require-upload', 'validator': 'require-validator', 'drag': 'jquery.drag.min', 'drop': 'jquery.drop.min', 'echarts': 'echarts.min', 'echarts-theme': 'echarts-theme', 'jquery': '../libs/jquery/dist/jquery.min', }, // shim依賴配置 shim: { 'addons': ['backend'], 'bootstrap': ['jquery'], 'bootstrap-table': { deps: [ 'bootstrap', // 'css!../libs/bootstrap-table/dist/bootstrap-table.min.css' ], exports: '$.fn.bootstrapTable' }, 'bootstrap-table-lang': { deps: ['bootstrap-table'], exports: '$.fn.bootstrapTable.defaults' }, }, map: { '*': { 'css': '../libs/require-css/css.min' } }, waitSeconds: 30, charset: 'utf-8' // 文件編碼 });
config中paths用來配置支持AMD規範的庫和js文件,shim是用來配不支持AMD規範的js。配好以後,假設如今要使用jquery和bootstrap,只要用require方法:框架
require(['jquery', 'bootstrap'], function ($, undefined) { //該function將在引入jquery和bootstrap完成以後執行。 });
要使用咱們本身定義的js,首先得用模塊化的方式編寫咱們的js,使用define定義一個模塊:模塊化
define('modelname',['jquery','xxx'], function ($,xxx) { var hehe = { function1: function () { }, function2: function () { }, function3: function () { } }; return hehe; });
define有三個參數,第一個是模塊名(能夠不寫,默認與模塊名與文件名同名),第二個是當前模塊依賴的其餘模塊,第三個是一個function,模塊體,要求必須return一個數據。
工具