Las bibliotecas y marcos cubiertos en este libro incluyen Bower, Grunt, Yeoman, PM2, RequireJS, Browserify, Knockout,
Angular JS, Kraken, Mach, Mongoose, Knex, Bookshelf, Faye, Q, Async.js, Underscore,
Lodash.
Cenador
Herramienta de gestión de paquetes
similar a npm
Gruñido
Realice tareas de compilación automatizadas
- Compilación y compresión de scripts y css
- prueba
- Verificación de pelusa estática
- Migración de base de datos
- desplegar
Hacendado
Herramientas de andamio para la construcción de proyectos
Cree plantillas reutilizables, proporcione una estructura de archivo inicial, archivos HTML, bibliotecas dependientes de terceros, procesadores de tareas
Crea el primer proyecto
Herramientas y bibliotecas que se utilizarán
- Gruñido
- Cenador
- jQuery
- AngualarJS
- Browerify
- Brújula
npm y -g generador-modernweb
Instalar
Ruby
RubyGems es un administrador de paquetes para Ruby.
MSYS2 es una colección de herramientas y bibliotecas que le proporciona un entorno fácil de usar para crear, instalar y ejecutar software nativo de Windows
https://www.runoob.com/ruby/ruby - rubygems.html
PM2
RequireJS
Los navegadores del cargador de módulos no pueden detectar dependencias entre scripts y no pueden cargar scripts y dependencias en un orden específico.
Modular
Hay dos especificaciones comunes del módulo Javascript: CommonJS y AMD
CommonJS : mecanismo de carga de módulo de nodo,
un método global require (), utilizado para cargar módulos
El método de carga es síncrono, lo que no es un problema para el servidor, ya que todos los módulos se almacenan en el disco duro local y la carga se puede completar de forma síncrona.El tiempo de espera es el tiempo de lectura del disco duro. Sin embargo, para el navegador, esto es un gran problema, porque todos los módulos están ubicados en el lado del servidor y el tiempo de espera depende de la velocidad de la red. Puede llevar mucho tiempo y el navegador está en un "falso estado de muerte ".
Programación modular de Javascript (1): cómo escribir módulos
http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
Ejecute inmediatamente la escritura de funciones para crear un módulo, sin exponer a miembros privados
AMD * Mecanismo de carga del módulo asíncrono: se utiliza para resolver problemas en el lado del navegador web y defectos DOM. La secuencia de comandos no se empaquetará en un solo archivo, pero se emitirá una solicitud http para cada secuencia de comandos.
AMD también usa la instrucción require () para cargar módulos, pero a diferencia de CommonJS, requiere dos parámetros:
require ([módulo], devolución de llamada);
El
atributo require.js defer async = "true" indica que este archivo debe cargarse de forma asíncrona para evitar que la página web pierda su respuesta.
require.config (), podemos personalizar el comportamiento de carga del módulo
Definir el módulo El
módulo debe definirse con una función define () específica
Browserify
cargador de módulo js
npm i -g browserify
Las aplicaciones CommonJS no se pueden ejecutar en el navegador, utilice la herramienta de línea de comandos de browserffy para empaquetar el archivo de la aplicación principal.
broserify app / index.js -o public / dist / app.js
Vuelva a empaquetar los archivos cuando se produzcan cambios
No se puede ejecutar directamente en el navegador, primero debe compilar
Browserify compilar todo el proyecto
Watchify compilar todo el proyecto inicialmente, y luego solo compilar los archivos modificados
7 nocaut
Enlace de datos bidireccional entre el objeto js y DOM
8 AngularJS
Programación imperativa: Describe qué hace el programa y cómo hacerlo.
Programación declarativa: describe los resultados del programa.