No description, website, or topics provided.
JavaScript HTML
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
assets
bin
example
lib
test
.project
README.md
package.json

README.md

:q #JSI Introduction a simple module loader , you can use npm installed modules in web browser such as it work in nodejs!

Install:

npm install jsi -g

Start:

  • install and run example:

     $ cd <webroot>
     $ jsi example
     $ open http://localhost:8080
    
  • command line

    • on [webroot]

        $ jsi example 									--deplay hello world example
        $ jsi start										--start debug server
      
    • on [webroot]/[scriptroot]

        $ jsi export -o temp.js main.js					--export main.js as a single javascript file
        													(main.js variables on global namespace;
        														buf dependence modules is hidden, you can use require('modulename') to get it )
        $ jsi export -o exported.js -ns xmldom xmldom	--export package: export xmldom to a single script and exports variables on the namespace xmldom.
      
      
      
        //advance useage:  install a optimized external package on package system.
      

$ jsi install jquery --install a exter:qnal optimized package from npm $ jsi install ./workspace/xmldom --install a external optimized package from local filesystem

  • lite template example

      //function template
      var tpl = function(list){
      	return <div>
      		<c:if test='${var1>var2}'>test${value}</c:if>
      		<p> this is a xml style templete ${varName}; 
      		default syntax support for mostly javascript editor (E4X standard) </p>
      	</div>
      }
      //inline template render
      var tpl = <div>
      	<p> this is a xml style templete ; 
      		default syntax support for mostly javascript editor (E4X standard) </p>
      </div>
      
      //single template file
      var tpl = liteXML("/path.tpl")
    
      //partly template file(css3 selector)
      var tpl = liteXML("/path.tpl#header")
    
  • javascript debug and compress

    • enable debug

      javascript:document.cookie="JSI_DEBUG=true"

    • disable debug

      javascript:document.cookie="JSI_DEBUG=false"

  • test route /route.js

      content:
      exports = [
    
      	//mock with json data
      	{path:"/service/login.do",data:{"auth-token":"sdeee23734ru3hfbvncm"}},
    
      	//mock from remote url 
      	{path:"/service/user.do",remote:"http://test.com/user.do"},
    
      	//mock from local json file
      	{path:"/service/user.do",file:"./mock/user.json"},
    
    
      	//mock with nodejs request handle
      	{
      		path:	/\/service\/user\/(\d+)/,
      		action:	function(request,response,path,uid){
      			var headers = {"Content-Type":"text/json;charset=utf-8"};
      			response.writeHead(200, headers); 
      			response.end(JSON.stringify({"uid":uid}));
      			return true;
      		}
      	}
      ]