Hi people!
A very simple question. When I write in the Node repl:
this.foo = 'bar';
console.log(foo);
it's ok, foo is defined. But writing that code in file.js and running
node file.js
then foo is not defined.
Or require('file.js'), then foo is not defined.
Any way to define a variable in the "current context"? Apparently, "this"
properties and "current context" top variables are the same in REPL, but
they are not the same in .js, or inside a required module.
I want to do this in a dynamic way:
name = 'foo';
// ...
this[name] = 'bar';
so
foo = 'bar';
is not a solution in my context.
I could use:
global[name] = 'bar';
but I want to expose the new "current context" top variables only in my
"current context" without pollute the global environment.
I encountered this problem when coding a simple HTML DSL:
https://github.com/ajlopez/SimpleTags/blob/master/test/exportsTo.js
I want the DSL functions to be accesible as:
require('simpletags').exportsTo(????); // ???? == global? this? Now, I
should use global to make it works in any situation
then, use the exported function as functions in current context:
html(body(h1("TheNextBigThing")));
instead
var st = require("simpletags");
st.html(st.body(st.h1("TheNextBigThing")));
Any other way?
TIA
Angel "Java" Lopez
http://ajlopez.wordpress.com
@ajlopez
gh:ajlopez
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en