I've heard a lot about the new terminology in the Web front-end recently, and I don't know what technology, such as Browserify Webpack NPM Bower. The following is a simple interpretation of cutting-edge technical terminology, and a hierarchical index classification what is FIS
FIS Front-End Integration Solution front-end integrated Solution what is git and svn?
In short, both Git and SVN are version management systems. GIT has its own centralized version library or server, just like SVN. However, Git prefers to be used in distributed mode, where each developer clones a version of its own library on its own machine after chect out code from the central version library/server. What is Coffeescript
Coffeescript is a set of JavaScript translation languages, equivalent to JavaScript precompilation a bit like CSS precompiled meaning What is grunt, gulp
Front-End build tools can also be understood as front-end automation tools
1. Can automatically compile Less,sass for CSS
2. Consolidation of documents
3. File compression
4. Grammar check
5. Monitor file changes what is Commonjs
According to the COMMONJS specification, a separate file is a module. The load module uses the Require method, which reads a file and executes it, and finally returns the exports object inside the file. Can be understood as COMMONJS is a specification, is used on the server side, Nodejs is the implementation of this specification. The Commonjs API fills this gap by defining the APIs used by many ordinary applications, primarily non-browser applications.
Developers can write applications using the COMMONJS API, which can then be run in different JavaScript interpreters and different host environments:
① server-side JavaScript applications
② Command line tools
③ Graphical Interface Application
④ mixed applications (e.g., titanium or Adobe AIR). what is a module Duojs Requirejs sea.js Reactjs angularjs
The browser itself does not provide the mechanism for module management, in order to invoke each module, sometimes have to add a lot of script tags in the Web page. This makes the Web page bulky, difficult to maintain, but also produces a large number of HTTP requests, drag slow display speed, affecting the user experience.
To solve this problem, the front-end Module manager (package management) came into being. It can easily manage the dependencies of various JavaScript scripts, automatically load each module, making the Web page structure clear and reasonable. It is no exaggeration to say that all front-end JavaScript projects in the future should be developed in this way.
The earliest and most famous front-end module manager, is not requirejs. It uses the AMD format, asynchronous loading various modules. Specific usage, you can refer to the tutorial I wrote. The problem of require.js is that all kinds of parameter settings are too cumbersome, not easy to learn, and difficult to grasp completely. Moreover, in the actual application, often also needs in the server side, all modules merge, then unify the load, this has many more work. Module Manager AMD CMD browserify Bower Component NPM
NPM is a NODEJS official Nodejs custom tool, is Node.js Package Manager, is the node packaged modules abbreviation, through NPM can download install Nodejs Module Pack, Nodejs has many excellent module packs that allow development to develop this quickly. To help node resolve Dependency pack installation issues
NPM belongs to the manager of the node module. and SPM and Bower, component are front-end module management, as a static resource sharing platform, used to publish and share front-end module
AMD, CMD is used in the browser-side, asynchronous, such as Requirejs and SEAJS
AMD (asynchromous module definition) is the normalized output of the module defined by Requirejs in the process of generalization
CMD is the normalized output of seajs in the process of popularization.
The difference between CMD and AMD has the following points:
① for dependent modules AMD is ahead of schedule, CMD is deferred execution. However, Requirejs from 2.0, also changed to be able to delay the execution (according to the different writing, the processing method does not pass)
②cmd is highly reliant on proximity, AMD is highly reliant on predecessors.
The ③AMD API defaults to one when multiple uses, and CMD strictly distinguishes between the highly responsible single. For example: AMD require is divided into global and local. CMD does not have the global require, provides the seajs.use () to implement the module system loading to start. Each API in CMD is simple and pure.
Browserify is currently the most commonly used COMMONJS format conversion tool. Browserify itself is not a module manager, but allows the server-side COMMONJS format modules to run on the browser side. This means that through it, we can use the Node.js NPM module manager. So, in fact, it's the ability to provide NPM to the browser indirectly.
SPM and Bower, component are all solutions for front-end modular sharing
Last
-browserify and Webpack belong to the same type of technology
-git and svn belong to the same type of technology
-AMD CMD Bower Component npm belongs to the same type of technology
-COMMONJS is a normative angularjs Requirejs Reactjs Seajs is based on this specification arises from the framework