2016-05-29 2 views
0

В моей server.js У меня есть следующие функции:Использование сторонней библиотеки в приложении узла

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

Я должен использовать this библиотеку как хорошо, но я не могу понять, как использовать это?

документация сказать, что я могу просто сделать npm install node-uuid и var uuid = require('node-uuid');

Я пытался добавить var uuid = require('node-uuid'); к server.js, но я не могу использовать uuid в любом контроллере файла, как расслоение плотной var 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 - это клиентская структура. Как вы включаете свой угловой код? С тегами ' azium

+2

Определенно кажется, что запутанная сторона сервера включает и клиентскую сторону – charlietfl

+0

@azium Я обновил вопрос. Я пытался использовать библиотеку, как указано в документации по github, используя 'npm install' –

ответ

0

npm install не принесет вам никакой пользы в вашем угловом коде на стороне клиента, поскольку он не имеет доступа к node_modules.

На странице вы связаны выше, инструкции говорят, чтобы включить его в HTML-то вроде:

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

Если вы сделаете это, то если ваш контроллер код работает после того, как сценарий отмечено выше был загружен , тогда вам должно быть хорошо идти.

Если ваш код не является кодом на стороне клиента, то я не уверен, что вы делаете с угловым на стороне сервера.

ПРИМЕЧАНИЕ. Если вы используете связывание с чем-то вроде web-pack, вы можете использовать npm для установки библиотеки uuid. Пожалуйста, сообщите нам, если вы это сделаете.

1

Если ваш код выше клиентского кода, и вы действительно пытаетесь достичь этого на стороне клиента с помощью угловой рамки, вы можете попробовать обертку AngularJS для исходной библиотеки node-uuid i.e angular-uuid.

Создание угловых uuid.js файла в папке JS клиентской использовать эту ссылку, чтобы скопировать содержимое для этого файла https://github.com/munkychop/angular-uuid/blob/master/angular-uuid.js и сохраните этот файл с скопированными содержимым.

использовать обычный тег сценария включить эту Lib

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

включают в себя угловую-UUID в вашем модуле Defination и впрыснуть, что в контроллере

(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

Вы можете использовать узел модулей в веб-интерфейсе если вы используете такой комплект, как webpack или browserify. В этом случае вы можете сделать:

var uuid = require('uuid'); 

Как и на бэкэнде. Убедитесь, что вы связали файлы в комплекте с поставщиком, который вы выбрали, и это должно сработать.

Имейте в виду, что существует небольшая разница в производительности между загрузкой в ​​теге скрипта (больше HTTP-запросов) и использованием пакета (большего размера файла).

Смежные вопросы