Alex A. Naanou 5f47d6da7b restructured the repo moving the legacy out of the way...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2020-08-28 17:32:02 +03:00

87 lines
1.5 KiB
Plaintext
Executable File

Modules and RequireJS
=====================
Most of the system is loaded via browser context RequireJS loader, in
node/nw context node-specific stuff is loaded with a second node-enabled
RequireJS instance or node require.
The ideal solution would be to use one require that sees both the browser
and node contexts, the problem is exactly in this, the browser requirejs
does not see either node or node modules while the node require loads code
that is not visible to devtools unless it is running at that exact moment.
Thus we are forced to use both mode requirejs loaders which may be
confusing at times.
Different loaders:
------------------
There are two RequireJS instances present in most contexts in nw.js
within the define(..) runner:
- require(..)
Pure browser RequireJS instance, used to load local
modules.
- requirejs(..)
Node-enabled RequireJS instance, used to load node
modules.
This is needed as the above require(..) overloads the
node native loader.
The future:
-----------
This seems a bit confusing, so at least the naming convention should be
revised.
Runtimes
========
ImageGrid.Viewer can be run in a number of runtimes on multiple platforms.
Browser
-------
npm install
index.html
Node.js
-------
npm install
node ig.js --help
Electron
--------
npm install
npm start
NW.js
-----
change "main" to "index.html" in package.json
npm install
nw .
Cordova/PhoneGap
----------------
XXX