Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

VJET/JavaScript Run As

VJET supports running JavaScript and vjojs

Simple JS Run with Rhino

Basic run as vjet js application should work for simple functions and vjojs.

VJET provides a simple api for outputting to the console and is automatically wired into Rhino. vjo.sysout and vjo.syserr. This idea was borrowed from java System class.

add this file foo.js into vjet project

function foo(a){
	vjo.sysout.println(a)
}
 
foo(20);
foo(30);


run as vjet js application

yields in eclipse console

20.0
30.0

Simple JS Run with Web Browser

function foo(a){
	alert(a)
}
 
foo(20);
foo(30);

should open web browser and display two alert boxes

- alert box with 20 in it - alert box with 30 in it

js file with vjo.needs dependencies

MyProject/src/foo/bar.js
function foo(a){
	vjo.sysout.println(a)
}
MyProject/src/foo/usingbar.js
vjo.needs("foo.bar")
foo(20);
foo(30);

run as vjet application yields

20.0
30.0

VJET launcher automatically loads any js files included using vjo.needs

using simple js with vjojs class

MyProject/src/foo/MyClass.js
vjo.ctype('foo.MyClass') //< public
.protos({
	//>public void foo(Number) 
	foo : function(a){
		vjo.sysout.println(a)
	}
})
.endType();
MyProject/src/foo/usingbar.js
vjo.needs("foo.MyClass")
foo.MyClass().foo(20);
foo.MyClass().foo(30);

run as vjet application yields

20.0
30.0

using vjojs main with vjo class dependencies

MyProject/src/foo/MyClass.js
vjo.ctype('foo.MyClass') //< public
.protos({
	//>public void foo(Number) 
	foo : function(a){
		vjo.sysout.println(a)
	}
})
.endType();
MyProject/src/foo/Main.js
vjo.ctype('foo.Main') //< public
.needs("foo.MyClass")
.props({
	//>public void main(String... args) 
	main : function(args){
		foo.MyClass().foo(20);
               foo.MyClass().foo(30);
	}
})
.endType();
run as vjet application yields
20.0
30.0

TODO

  • Support needs comment as dependency
  • Debugging JS documentation
  • Running Js runner with vjojs and java
  • Debugging JS in Web browser
  • Support console api rather than vjo.sysout - easier to switch between web and rhino
  • Linking this with homepage



Tested with Indigo SR2 and Juno SR1 versions of Eclipse.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.