2016-05-29 70 views
0

在我server.js我有以下功能:使用第三方库中的一个节点应用

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 
app.use(bodyParser.json()); 

我必须使用this库以及,但我无法弄清楚如何使用它?

文档说我可以做npm install node-uuidvar uuid = require('node-uuid');

我尝试添加var uuid = require('node-uuid');server.js,但我不能在任何控制器的js文件使用uuidvar id = uuid.v1();。我得到Error: Can't find variable: uuid

控制器文件看起来是这样的:

(function() { 
    angular 
     .module("WebApp") 
     .controller("TestController", TestController); 

    function TestController($location) { 
     // need to get a uuid here 
    } 

})(); 

我应该如何使用这个库?

+1

您的文章中的代码是服务器端代码,而Angular是客户端框架。你如何包含角码?使用HTML /模板文件中的

1

如果您的代码高于客户端代码,并且您真的试图在角度框架的客户端上实现该功能,那么您可以尝试使用原始节点uuid库AngularJS包装器,例如angular-uuid。

在客户端 使用您的js文件夹中创建角uuid.js文件,该链接的内容文件与复制的内容复制该文件 https://github.com/munkychop/angular-uuid/blob/master/angular-uuid.js 和保存。

用楷书标签包括这个LIB

<script src="angular-uuid.js"></script> 

包括角UUID在你的模块认定中,注入的是在您的控制器

(function() { 
    angular 
     .module("WebApp",["angular-uuid"]) 
     .controller("TestController", ["uuid",TestController]); 

    function TestController(uuid) { 
     // need to get a uuid here 
    } 

})(); 
+0

'angular-uuid.js'位于'node_modules'目录中。我是否需要将它移动到当前文件夹中,否则''将不起作用。 –

0

您仍然可以使用节点模块在前台如果您使用像webpackbrowserify这样的打包程序。在这种情况下,你可以这样做:

var uuid = require('uuid'); 

就像你可以在后端。确保你链接你选择的捆绑软件捆绑的文件,这应该工作。

请记住,在脚本标记(更多的http请求)与使用捆绑器(更大的文件大小)之间加载它会有(轻微的)性能差异。