經過require
加載模塊並執行,返回一個引用文件的export
對象.css
var test = require('./test');
jquery
該方式屬於同步加載,適用於服務器端。瀏覽器更適合異步加載方式。es6
推崇的是依賴前置,提早執行。(一些該頁面不須要的模塊也加載了進來)瀏覽器
// 配置路徑 require.config({ baseUrl: "js/lib", paths: { "jquery": "jquery.min", "underscore": "underscore.min" } }); // 模塊加載 require(["jquery", "underscore"], function($, _) { $(body).css("background", "#6fc"); var result = _.map([1, 2, 3], function() { return num * 3; }); }) // 自定義模塊,第一個參數爲可選,表示模塊依賴的模塊 define(["underscore"], function(_) { var minNumIndex = function(arr) { return arr.indexOf(_.min(arr)) }; return { minNumIndex: minNumIndex }; })
推崇依賴就近,延遲執行。(也就是按需加載)服務器
// 定義模塊 math.js define(function(require, exports, module) { var $ = require("jquery.js"); var add = function(a, b) { return a + b; }; export.add = add; }); // 加載模塊 seajs.use(["math.js"], function(math) { var sum = math.add(1, 2) });
export
=> 導出模塊
import
=> 引入模塊異步
// math.js const NUM = 1; const add = (a, b) => a + b; export { add } // 引入模塊 import add from "./math";