Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
ng-node-compile
Advanced tools
Readme
Compile html templates the angular way, in node js! this is a pretty new package, so don't hesitate adding issues or pull requests!
Note that as of our 2.0.0 release, nc-node-compile no longer works with Node.js�, and instead requires io.js. You are still welcome to install a release in the 1.x series if you use Node.js�.
new ngcompile().$interpolate("hello {{name}}")({ name: 'Jhon doe' });
$ npm install ng-node-compile
The library exposes several angular services, which will let you compile angular templates inside node:
ngcompile
this is the function to create a angular enviorment. just
var ngEnviorment = new ngcompile([modules],[angularPath],[settings]);
arguments:
modules: optional. array of modules to inject to angular enviorment. example: [{name: 'testModule', path: './test.js'}]
angularPath: optional. path to angular.js file, in case you want another angular version.
settings: optional. could be used for changing angular's {{ startSymbol and }} endSymbo
$interpolate:
var ngcompile = require('ng-node-compile');
var ngEnviorment = new ngcompile();
ngEnviorment.$interpolate("hello {{name}}")({ name: 'Jhon doe' });
this wil return a string "hello Jhon doe"
$compile:
var ngcompile = require('ng-node-compile');
var ngEnviorment = new ngcompile();
ngEnviorment.$compile("<div ng-repeat=\"n in [1,2,3,4,5]\">hello {{name}} {{n}}</div>")({ name: 'Jhon doe' });
using settings
var ngcompile = require('ng-node-compile');
var ngEnviorment = new ngcompile({ startSymbol: '[[', endSymbol: ']]' });
ngEnviorment.$compile("<div class=\"[[name]]\">hello {{name}}</div>")({ name: 'active' });
can also be called with angular modules and angular path arguments:
var ngEnviorment = new ngcompile([{ name: 'test', path: './test.js' }], './angular.js', { startSymbol: '[[', endSymbol: ']]' });
async issues usualy ng-node-compile should work perfectly in synchronic calls. if You get a "Angular enviorment not yet ready" error, you could use the onReady function:
var ngcompile = require('ng-node-compile');
ngcompile.prototype.onEnvReady(function(){
var ngEnviorment = new ngcompile();
ngEnviorment.onReady(function(){
ngEnviorment.$interpolate("hello {{name}}")({ name: 'Jhon doe' });
});
});
##example using express and extra angular moduls:
app.js:
var express = require('express'),
ngcompile = require('ng-node-compile');
var ngEnviorment = new ngcompile([{ name: 'test', path: './test.js' }]);
var app = express();
app.get('/', function (req, res) {
res.send(ngEnviorment.$compile("<div ng-repeat=\"n in [1,2,3,4,5]\" yellow=\"{{n==3}}\">hello {{name}} {{n}}</div>")({ name: 'Jhon doe' }));
});
var server = app.listen(3000);
test.js:
angular.module('test', [])
.directive('yellow', [function () {
return {
restrict: "A",
replace: false,
scope: false,
link: function (scope, element, attr) {
if (attr['yellow'].toString() === "true") element.css('color', 'yellow')
}
}
}])
and the restlt simply looks this way:
<div ng-repeat="n in [1,2,3,4,5]" yellow="false" class="ng-binding ng-scope">hello Jhon doe 1</div>
<div ng-repeat="n in [1,2,3,4,5]" yellow="false" class="ng-binding ng-scope">hello Jhon doe 2</div>
<div ng-repeat="n in [1,2,3,4,5]" yellow="true" class="ng-binding ng-scope" style="color: yellow;">hello Jhon doe 3</div>
<div ng-repeat="n in [1,2,3,4,5]" yellow="false" class="ng-binding ng-scope">hello Jhon doe 4</div>
<div ng-repeat="n in [1,2,3,4,5]" yellow="false" class="ng-binding ng-scope">hello Jhon doe 5</div>
FAQs
Compile angular templates, on Server side!
We found that ng-node-compile demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).