Ninja Pokémon Master

    ng-node-compile-fork

    2.0.2 • Public • Published

    This is just a fork, works with koa, won't update anymore.

    ng-node-compile-fork

    only works with iojs

    Compile html templates the angular way, in node js! this is a pretty new package, so don't hesitate adding issues or pull requests!

    new ngcompile().$interpolate("hello {{name}}")({ name: 'Jhon doe' });

    Install

    $ npm install ng-node-compile-fork

    How to Use?

    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]);

    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.

    $interpolate:

    var ngcompile = require('ng-node-compile-fork');
    // build angular env
    yield ngcompile.prototype.env;
     
    var ngEnviorment = new ngcompile();
     
    var result = ngEnviorment.$interpolate("hello {{name}}!")({ name: 'Jhon doe' });

    this wil return a string "hello Jhon doe"

    $compile:

    var ngcompile = require('ng-node-compile-fork');
    // build angular env
    yield ngcompile.prototype.env;
     
    var ngEnviorment = new ngcompile();
     
    var result = ngEnviorment.$compile("<div ng-repeat=\"n in [1,2,3,4,5]\">hello {{name}} {{n}}</div>")({ name: 'Jhon doe' });
     

    Following example is an old version and havn't updated yet.

    example using co:

    app.js:

     
    var ngcompile = require('ng-node-compile-fork');
     
     
    co(function *(){
     
    // build angular env
    yield ngcompile.prototype.env;
     
    var ngEnviorment = new ngcompile([{ name: 'test', path: './test.js' }]);
     
    var result = ngEnviorment.$compile("<div ng-repeat=\"n in [1,2,3,4,5]\" yellow=\"{{n==3}}\">hello {{name}} {{n}}</div>")({ name: 'Jhon doe' });
    console.log("result is: " + result);
     
    });
     

    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:

    result

    <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>

    Install

    npm i ng-node-compile-fork

    DownloadsWeekly Downloads

    0

    Version

    2.0.2

    License

    ISC

    Last publish

    Collaborators

    • diankong