require.js簡單入門

eedc發表於2017-05-27

推薦文章:http://www.ruanyifeng.com/blog/2012/11/require_js.html

 

1、以下例子主要實現功能,

  1)引用jq庫獲取dom中元素文字,

  2)實現並引用去空格工具類trim,

  3)最後獲取文字並去掉空格後輸出,

  4)打包js(將所有js檔案打包成main.min.js)

 

1、下載require檔案

require.js         require主檔案
r.js               require優化器檔案

官網地址:http://requirejs.org/docs/download.html
npm install requirejs

2、檔案結構

index.html

        --js資料夾
    
                jquery.js
                main.js   
                model.js
                r.js
                require.js
                utils.js

 

3、index.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <div id='test'>                                                         asdfasdfasdfasdf                                                 </div>
</body>


<!-- 壓縮js前 -->
<!-- <script src="js/require.js" data-main="js/main" defer async="true"></script> -->
<!-- 壓縮js後 -->
<script src="js/require.js" data-main="js/main.min" defer async="true"></script>
</html>

4、model.js  (獲取ID為test的元素text並返回)

  
define(['jquery'], function($) {    
    var add = function() {     
        return $("#test").text();

    };    
    return {      
        add: add    
    };
});

5、utlis.js  (定義trim方法)

define(function() {
    var utils = {
        trim: function(e) {
            return e.replace(/(^\s*)|(\s*$)/g, ""); 
        },
        ltrim: function(e) {
            return e.replace(/(^\s*)/g, "");  
        },
        rtrim: function(e) {
            return e.replace(/(\s*$)/g, "");  
        }
    };
    return utils;
});

6、main.js  (配置引入模組、呼叫模組)

require.config({    
    paths: {      
        "jquery": "jquery",
        "model": "model",
        "utils": "utils"
    }  
});

  
require(['model', 'utils'], function(model, utils) {   
    console.log(model.add());
    console.log(utils.trim(model.add()));
});

7、打包/壓縮js檔案  (main.js中引入的模組jquery、model、utlis打包成main.min.js)

8、執行效果