node.js - 要求未在 Angular 中定义

标签 node.js angularjs

我正在使用 angularjs,我在其中创建了一个 js 文件 (loginCtrl.js),并且包含了一个 Controller 。 我在另一个文件 (server.js) 中定义了我的数据库连接和模式,我想将该文件包含在我的 js 中。

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

它正在打印上面定义的 console.log。

最佳答案

require() 是一个 NodeJS 函数,您的 Angular Controller 将在浏览器中执行,浏览器没有该内置函数。如果您想在客户端复制该行为,您应该查看 RequireJS

关于node.js - 要求未在 Angular 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26012018/

相关文章:

javascript - 如何在服务器上手动取消 XMLHttpRequest 文件上传(流)

javascript - 无法访问从 $http.post 接收的 JSON 文件中的值

javascript - 1.4.3 data-ng-href 不改变页面

javascript - 如何在同一端口上启动 react 和 Node api 服务器?

node.js - 使用 passport.js 和 express.js (node.js) 制作安全的 oauth API

node.js - Mongoose 与 NestJS - 一对多

node.js - 在 Amazon EC2 上运行一个简单的 HTTPS Node JS 服务器

javascript - 如何从 AngularJS 中观察窗口变量

AngularJS 重新编译动态 html 时删除旧的 $watchers

angularjs - 如何在指令中对隔离范围进行单元测试