2014-09-24 2 views
3

Я использую angularjs, где я создал файл js (loginCtrl.js), и я включил контроллер. Я определил свое соединение и схему db в другом файле (server.js), и я хочу включить этот файл в js.require не определен в угловом

Моего loginCtrl.js выглядит следующим образом:

test.controller('loginCtrl', function($scope, loginService){ 

    $scope.login = function(user) 
    { 
     console.log('inside function 1'); 
     var user = require('./server.js') 
     console.log('inside function'); 
     loginService.login(user); 
    } 

}); 

и мои файлы server.js выглядят следующим образом:

var express = require('express'); 
var mongoose = require('mongoose'); 

mongoose.connect('mongodb://localhost/userregistration'); 

var userSchema = { 
    username: String, 
    firstname:String, 
    lastname: String, 
    email: String, 
    password: String 
} 

var User = mongoose.model('User', userSchema, 'user'); 

Когда я запускаю код, он выдает ошибку, как:

ReferenceError: require is not defined 

Он печатает консоль.log, определенную выше.

+0

ваш файл 'server.js' запускается NodeJs, а не вашим браузером, не так ли? – meriadec

+0

@meriadec: Как я могу это подтвердить? – kawade

+0

, если вы набираете 'node server.js' в своем терминале, вы используете его с узлом, если вы включили скрипт' server.js' в свой браузер, вы должны его удалить :) – meriadec

ответ

8

require() - функция NodeJS, ваш угловой контроллер будет выполнен в браузере, который не имеет встроенной функции. Если вы хотите реплицировать это поведение на стороне клиента, вы должны посмотреть на RequireJS

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