Todo el código fuente de SEA.JS se almacena en GitHub: https://github.com/seajs/examples, y la estructura del directorio es:
Ejemplos/ |-Sea-Modules Stores Seaajs, jQuery y otros archivos, que también es el directorio de implementación del módulo |-Estores estáticos JS y archivos CSS para cada proyecto ||-Hola | |- Lucky | `- TODO`- APP STORE HTML Y OTROS ACHIVOS |- Hello.html |- Lucky.html `- TODO.HTML
Introducir el archivo principal de SEAJS
<script src = "js/sea.js"> </script> <script type = "text/javascript"> // elemento de configuración de mara seaajs.config ({// establece la ruta básica js (referida al directorio raíz de archivos externos) base: "./ js", // establecer aliases (para referencias posteriores) alias: {"jququery": ":" Jquery.j.j,///////////////Rutas (Usado cuando llame a través de directorios o cuando el directorio es más profundo) rutas: {'jQuery': 'http://libs.baidu.com/jquery/2.0.0/'}, // Establece el archivo de encodado de archivo: "utf-8", // precurso de archivo preciso: ['jQuery']}); // Haga referencia al archivo de entrada principal marss.use (['main', 'jQuery'], function (e, $) {// callback function alert ("cargar todo completado");}); </script>Archivo de entrada principal de SEAJS (principal)
Define (función (requerir, exportar, módulo) {// El archivo de entrada principal introduce otras dependencias de archivo // var testReq = request ('index'); var testreq = request.async ('index', function () {// async cargando alerta de devolución de llamada ("Soy la función de devolución de llamada del Índice de carga asíncrona");});//Run el método interfacio liberado testreq.testinit ();Archivo de dependencia de SEAJS (índice)
Define (función (requerir, exportar, módulo) {// libera la interfaz en el exterior exports.testinit = function () {alert ("soy una interfaz");}; // Si necesita liberar un gran número de interfaces, puede usar el módulo var testobj = {nombre: "Qiangck", sexo: "man", textfun: function () {alert (alerta (" MODULE.EXPORTS ");}} // MODULE.EXPORTS Recibe obj Obj Module.Exports = testObj;});Orden de carga de archivo
Comencemos con Hello.html para ver cómo organizar el código usando SEA.JS.
Módulos de carga en la página
Al final de la página Hello.html, después de introducir SEA.js a través del script, hay un código de configuración:
// Configuración simple de Seajs Seajs.config ({Base: "../sea-modules/", alias: {"jQuery": "jQuery/jQuery/1.10.1/jQuery.js"}}) // Cargue el módulo de entrada SEAJS.USE ("../ Static/Hello/Src/Main")Después de completar la descarga de SEA.js, el módulo de entrada se cargará automáticamente. El código en la página es así de simple.
Código de módulo
Este pequeño juego tiene dos módulos, spinning.js y main.js, que siguen el método de escritura unificada:
// Todos los módulos definen definir (función (requerir, exportar, módulo) {// introducir dependencia var a través de requerir $ = request ('jQuery'); var spinning = request ('./ spinning'); // Proporcione la interfaz al exterior a través de exportaciones exportss.dosomthing = ... // o proporcione la interfaz completa a través de module.exports.exports = ...});Lo anterior es el formato de escritura del módulo CMD recomendado por Sea.js. Si ha usado Node.js, todo es natural.